ios - iOS 6 应用程序的 iOS 7 兼容模式不考虑导航栏的色调颜色?

标签 ios uinavigationbar ios7

我的应用程序的蓝色导航栏在 iOS 7 上突然变成了黑色/灰色。我的应用程序尚未升级到 iOS 7,也没有使用 Xcode 5 重新编译。我希望在兼容模式下在 iOS 7 上看起来完全相同对于较旧编译的 iOS 6,但我想我错了?

这是一个错误还是预期的行为?

供您引用,我没有使用 UINavigationController。只是 Nib 中的一个简单的 UIView ,其导航栏直接从 Interface Builder 中拖动。

最佳答案

我想你想要的是这样的:

UIColor *tintColor = [UIColor redColor];  
if ([navigationBar respondsToSelector:@selector(setBarTintColor:)])
{
    navigationBar.barTintColor = tintColor;
}
else
{
    navigationBar.tintColor = tintColor;
    navigationBar.translucent = NO;
}

在iOS7中,UINavigationBar的属性tintColor更改为仅对按钮(leftBarButtonItem/rightBarButtonItem)着色以声明用户可以点击它们。对整个栏进行“着色”的新方法是使用 barTintColor(自 iOS7 起可用)。

还有一个区别:

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

希望这对您有帮助。 :)

最好, 萨沙

关于ios - iOS 6 应用程序的 iOS 7 兼容模式不考虑导航栏的色调颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903593/

相关文章:

objective-c - 具有(复杂)关系和核心数据/RAILS 的 Restkit

ios - UIAlertAction 的处理程序不起作用

ios - 如何在我的Xcode项目中集成Razorpay付款网关?

ios - objc 项目中 Socket.IO-Client-Swift 中的回调

ios - UINavigationBar 的 UIAppearance 在与自定义 View Controller 一起使用时无法正常工作...?

ios - 一旦用户滚动,如何只在导航栏下显示阴影?

ios - UISearchBardelegate 函数没有响应

IOS popviewcontroller去除导航栏

ios - 如何将图像加载到 View ?

ios - 根据速度更改快速的SKSprite节点动画