我有一个适用于我的 iOS 应用程序的自定义主题,在 iOS 6 上它看起来很像我想要的。 但在 iOS 7 上,操作系统会自动将背景(以及我用作按钮的图像)本身变暗,因此它看起来不一样。
所以我有一个带有自定义图像和以下代码的条形按钮项目:
UIImage *navbarButton = [[UIImage imageNamed:@"navbar_button"]
resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];
UIImage *navbarButtonHighlight = [[UIImage imageNamed:@"navbar_button_highlight"]
resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];
[[UIBarButtonItem appearance] setBackgroundImage:navbarButton
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:navbarButtonHighlight
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:navbarButtonHighlight
forState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
我做错了什么/忘记了什么?
最佳答案
if([Utilities iOSVersion] >= 7){
[self.navigationController.navigationBar setBarTintColor:[UIColor whateverColorYouWant]];
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
//translucent is key
self.navigationController.navigationBar.translucent = NO;
}
/**
* @return this device OS version
*/
+(int)iOSVersion{
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
return [[ver objectAtIndex:0]intValue];
}
关于iOS 7 条形按钮项目 : custom background images and highlight state darkens image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18933786/