1

我想删除在UINavigationBarand中出现的渐变效果UITabBar。下图显示了一个使用自定义 UIColor 的 7/29/88 (RGB) 的示例标签栏,使用设置setTintColor:color,如您所见,标签栏的上半部分有光泽。

在此处输入图像描述

我该如何删除这个?

4

3 回答 3

6

取决于您对“删除”的定义。在 iOS 6.x(未测试 iOS 4/5)中,以下工作。

// this will show a tab bar with a solid background color
tabBar.backgroundImage = [UIImage new];
tabBar.backroundColor = [UIColor blueColor];

// this will show a navigation bar with a solid background color
[navBar setBakgroundImage:[UIImage new]
            forBarMetrics:UIBarMetricsDefault]];
navBar.shadowImage = [UIImage new];
navBar.backgroundColor = [UIColor blueColor];
navBar.tintColor = [UIColor blueColor];
于 2013-10-19T20:46:15.423 回答
2

这是不可能的。但是,您可以使用自定义背景图像。检查UIAppearance文档

于 2013-04-07T17:55:58.247 回答
2

我从导航栏中删除了渐变效果,你可以试试这段代码,看看它是否也适合你。

//First, create your own Navigation Bar Class, and add this to your init method.

self.tintColor = [UIColor clearColor];
self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage"]];

//Add this to your DrawRect method
- (void)drawRect:(CGRect)rect {
    UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage"]]; 
   //If you want a plain color change this

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColor(context, CGColorGetComponents([color CGColor]));
    CGContextFillRect(context, rect);
}
于 2013-04-08T22:31:57.817 回答