[英]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.