我对项目的设置:
当我在模拟器(7.0)中运行app时,我几乎看到了我的期望(我不明白为什么barbuttons不使用颜色色调 - 在之前的屏幕上显示为蓝色):
但是如果app在设备上运行(也是7.0), 然后我看到: 正如您所看到的,这是某种iOS6 UI,但是tableview位于导航栏下,后者变得透明。
为什么会这样?
答案 0 :(得分:1)
在iOS 7.0上,tintColor
对条形图的行为发生了变化,请查看下图:
现在要更改条形按钮的色调颜色,您需要使用tintColor
,这是导航栏中交互元素的颜色,包括按钮图像和标题。
虽然barTintColor
是UINavigationBar
的背景色。
所以基本上 对于按钮和标题:
[[UINavigationBar appearance] setTintColor:[UIColor grayColor]];
对于酒吧色调:
[[UINavigationBar appearance] setBarTintColor:[UIColor lightGrayColor]];
对于navBar部分下的tableVIew,设置navigationBar.translucent = NO;
答案 1 :(得分:0)
我在IB中启用了Autolayout,现在它也在设备上使用iOS7。 更新:一段时间后,它再次开始显示奇怪的设计。只有在我将iOS7设置为基础和部署SDK之后它才会消失。