Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 6应用程序的iOS 7兼容模式不支持Navbar tintColor?_Ios_Uinavigationbar_Ios7 - Fatal编程技术网

iOS 6应用程序的iOS 7兼容模式不支持Navbar tintColor?

iOS 6应用程序的iOS 7兼容模式不支持Navbar tintColor?,ios,uinavigationbar,ios7,Ios,Uinavigationbar,Ios7,在iOS 7上,我的应用程序的导航栏(蓝色)突然变为黑色/灰色。我的应用程序还没有升级到iOS 7,也没有使用Xcode 5重新编译。我本来希望在iOS 7上与旧版iOS 6的is兼容模式完全相同,但我猜我错了 这是一个bug还是预期的行为 仅供参考,我没有使用UINavigationController。在nib中只需一个简单的ui视图,导航栏直接从界面生成器中拖动。在iOS 7上,导航栏的默认颜色为白色。蓝色是iOS 6中的默认导航颜色,因此可能只是将其设置为该操作系统版本的默认值。这是假设

在iOS 7上,我的应用程序的导航栏(蓝色)突然变为黑色/灰色。我的应用程序还没有升级到iOS 7,也没有使用Xcode 5重新编译。我本来希望在iOS 7上与旧版iOS 6的is兼容模式完全相同,但我猜我错了

这是一个bug还是预期的行为


仅供参考,我没有使用
UINavigationController
。在nib中只需一个简单的
ui视图
,导航栏直接从界面生成器中拖动。

在iOS 7上,导航栏的默认颜色为白色。蓝色是iOS 6中的默认导航颜色,因此可能只是将其设置为该操作系统版本的默认值。这是假设您的导航栏是默认的iOS 6蓝色

我想你想要的是:

UIColor *tintColor = [UIColor redColor];  
if ([navigationBar respondsToSelector:@selector(setBarTintColor:)])
{
    navigationBar.barTintColor = tintColor;
}
else
{
    navigationBar.tintColor = tintColor;
    navigationBar.translucent = NO;
}
在iOS7中,UINavigationBar中的属性tintColor更改为仅对按钮(leftBarButtonim/righBarButtonim)着色,以声明用户可以点击它们。“着色”整个条的新方法是使用barTintColor(从iOS7开始提供)

还有一个区别:

在iOS7之前,UINavigationBar的半透明属性默认为
NO
,现在为
YES

希望这对您有所帮助。:)

最好的,
Sascha

不,它不是默认的蓝色,我使用了tintColor属性。我知道在使用iOS 7.0 SDK的Xcode 5下编译的较新应用程序不支持它,我需要根据条件进行检查,但我的仍然在iOS 6.1 SDK下编译。我已经好几个月没碰它了。啊,阿拉尔,我想我知道你的问题,几个月前我也遇到过。您使用的是iOS6样式,但该条的颜色不正确。我在WWDC期间也遇到过这个问题。我想他们用iOS7 beta 4改变了它。您可以检查一下,您的测试设备上是否安装了最新的iOS7吗?没错,条形图的颜色是深灰色,但按钮仍然是深蓝色。