swift - 无法在 iPhone 6 plus 上设置 bartintcolor

标签 swift uinavigationcontroller iphone-6-plus viewwillappear

所以我的问题是我无法在 iPhone 6 plus 上设置条形颜色。我可以为所有其他设备设置条形色调颜色,但对于 iPhone 6 plus,条形色调不会改变。这是 View Controller 的代码。此外,该 VC 被导航 Controller 推送到堆栈上。非常感谢大家的帮助。

override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        navigationController?.navigationBar.barTintColor = .redColor()
        navigationController?.navigationBar.translucent = false
        navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
        navigationController?.navigationBar.tintColor = UIColor.whiteColor()
    }

这是我在 View Controller 中做的唯一事情,但它根本不起作用。

最佳答案

好的,我解决了这个问题。由于某种原因,iPhone 6 plus 打电话

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()
    navigationController?.navigationBar.barTintColor = .primaryGrayColor()
    navigationController?.navigationBar.translucent = false
    navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor()]
}

每次将新的 View Controller 推送到导航堆栈时。 iPhone 5、iPhone 5s、iPhone 6 或 iPhone 7 中不会出现这种情况。

关于swift - 无法在 iPhone 6 plus 上设置 bartintcolor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050010/

相关文章:

swift - 核心数据条件

ios - 在 App delegate swift 中获取 UIVIewController 的名称

ios - navigationBar 的自定义 barTintColor

ios - 当使用 modalPresentationStyle = .FormSheet 在 UINavigationController 中推送时,SFSafariViewController 显示不正确

ios - 我真的必须明确支持 iPhone 6 和 iPhone 6 Plus 屏幕吗?

ios - swift 在 Xcode 中编译时出现退出代码 1 失败 - 可能与 Bridging-Headers 有关

ios - 使用 evaluateJavascript 方法在 WKWebview 上设置本地镜像

ios - 如何在布局类似于 fork 的 UIViewController 之间导航和传递数据?

ios - 使用单个 Storyboard支持多种 iPhone 分辨率

ios - iPhone 6+ 的存储使用率高得离谱