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