Mac 및 iPad에서 Safari와 같은 효과를 얻으려는 중이라서 내비게이션 막대와 현재 탭이 하나 있습니다. UINavigationBar/UIToolbar를 UIView 하위 클래스와 병합하여 1로 보이게하려면 어떻게합니까?UIToolbar를 사파리와 같은 다른 객체로 확장하는 방법
답변 :
나는 내 자신의 UIToolbar의 서브 클래스를 생성하고, UIToolbar 해당 색상 내 UIView의 하위 클래스와 같은 색 만들기 위해 drawRect:(CGRect)rect
방법을 사용했다.
- (void)drawRect:(CGRect)rect
{
// Drawing code
//// General Declarations
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = UIGraphicsGetCurrentContext();
//// Color Declarations
UIColor* gradientColor = [UIColor colorWithRed: 0.916 green: 0.916 blue: 0.916 alpha: 1];
UIColor* gradientColor2 = [UIColor colorWithRed: 0.811 green: 0.811 blue: 0.811 alpha: 1];
//// Gradient Declarations
NSArray* gradientColors = [NSArray arrayWithObjects:
(id)gradientColor.CGColor,
(id)gradientColor2.CGColor, nil];
CGFloat gradientLocations[] = {0, 1};
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)gradientColors, gradientLocations);
//// Rectangle Drawing
UIBezierPath* rectanglePath = [UIBezierPath bezierPathWithRect: CGRectMake(-1, 0, 769, 45)];
CGContextSaveGState(context);
[rectanglePath addClip];
CGContextDrawLinearGradient(context, gradient, CGPointMake(383.5, -0), CGPointMake(383.5, 45), 0);
CGContextRestoreGState(context);
//// Cleanup
CGGradientRelease(gradient);
CGColorSpaceRelease(colorSpace);
}
예 제가 직접 페인트 코드를 만들었으므로 신축성있는 이미지로 탭을 만들었으므로 탭을 만들 수 있습니다. 나는 그렇게 잘 만들지 않겠습니까? 그들도 uibarbuttonitems를 가지고 있기 때문에 같은 방식으로 추가하지 않도록 코딩해야 할 것입니다. – Maximilian
단추가있는 탐색 모음 아래에 탭 막대를 놓기 만하면됩니다. – DrummerB
나는 탭이 이미있다. P는 완료되었다. 그냥 같은 색으로 병합하는 법을 알아야한다. 색을 뽑아내는 도구를 시도해보고 색을 겹쳐서 사용한다. – Maximilian