【发布时间】:2011-08-23 18:08:24
【问题描述】:
如何在 UINavigationBar 上获得哑光颜色而不是闪亮的外观?
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];
【问题讨论】:
标签: iphone objective-c cocoa-touch uinavigationbar uicolor
如何在 UINavigationBar 上获得哑光颜色而不是闪亮的外观?
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];
【问题讨论】:
标签: iphone objective-c cocoa-touch uinavigationbar uicolor
没有内置的方法可以做到这一点。使用tintColor 将始终让您获得默认的“闪亮”外观。另一种方法是自己绘制条形图,使用here 描述的技术,以获得您想要的外观。
【讨论】:
drawRect: 的类别进行扩展
setBackgroundImage:forBarMetrics: 那么在您的类别中为什么不先检查 respondsToSelector: 然后使用适当的方法?
我使用类别 UINavigationBar 的简单方法:
@implementation UINavigationBar (UINavigationBarWithoutShiny)
- (void)drawRect:(CGRect)rect {}
@end
在此之后我可以只使用 UINavigationBar 视图的背景颜色:
self.navigationController.navigationBar.backgroundColor = [UIColor greenColor];
【讨论】: