我正在处理的应用程序有一个自定义导航栏。在我的AppDelegate.m中,我完成了以下操作:
setTintColor:已设置为白色;
- (void)customizeUserInterface {
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBar"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName, nil]];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
}
在iOS 7中一切看起来都很好,但在运行iOS 6的设备上,导航栏按钮在白色上是白色的,因为色调颜色会改变iOS 7中按钮的文本(因为所有按钮都在iOS 7中) - 文本),在iOS 6中设置色调颜色调整按钮的背景,文本保持白色。所以在iOS 6中,导航栏按钮是白色的,带有白色文本。
我更喜欢我的表在iOS 7中看起来如何,而不是仅因为与iOS 6的向后兼容性不合作而不改变它。
有没有人能解决这个问题。有没有办法以编程方式更改导航栏圆形录制按钮的背景颜色或圆形录制按钮内的文本 - 所有这些都不会改变iOS 7中的外观?
或者有条件设置这些更改吗?换句话说,我是否可以通过编程方式将自定义导航栏设置为仅针对iOS 7+的设备显示,并在此之前使用所有iOS版本的默认值?
还是有其他聪明的东西,我没想到的?
谢谢!
答案 0 :(得分:0)