![](/img/trans.png)
[英]UINavigationController Push Segue doesn't work in iOS11, No back button, No title
[英]why my iOS11 navigationController doesn't to work
我只想显示一个大标题。
我的ViewController.swift
看起来像:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.white
title = "Hello world"
self.navigationController?.navigationBar.prefersLargeTitles = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
但它不起作用。
let navigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 60))
navigationBar.backgroundColor = UIColor(red: 46.0/255.0, green: 145.0/255.0, blue: 245.0/255.0, alpha: 1.0)
self.navigationItem.title = "Add Title"
self.view .addSubview(navigationBar)
if #available(iOS 11.0, *) {
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .always
} else {
// Fallback on earlier versions
}
显示在导航栏,你需要做出大标题largeTitleDisplayMode
.always
添加下面的代码行到您viewDidLoad
也不要忘记检查ios11或不
title = "Hello world"
if #available(iOS 11.0, *) {
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .always
}
并且您的UIViewController
应该有一个UINavigationController
如果您的 UIViewController 未嵌入 UINavigationController 中,请执行以下步骤
打开你的故事板 -> 选择你的视图控制器 -> 编辑器 -> 嵌入 -> NavigationController
首先,确保您的ViewController
位于UINavigationController
。
继续检查IOS 11
title = "Title
if #available(iOS 11.0, *) {
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .always
} else { ... }
您的问题是,您需要在导航控制器中添加您的视图控制器
window = UIWindow(frame: UIScreen.main.bounds)
let mainController = ViewController()
let navigationController = UINavigationController(rootViewController: mainController)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.