簡體   English   中英

未通過擴展設置的大標題 [Swift 5]

[英]Large Titles Not Being Set Via Extension [Swift 5]

我有一個擴展來配置我的UINavigationController與我在控制器的ViewDidLoad中調用的大標題;

extension UINavigationController {
    
    func configure(with title: String) {
        navigationController?.navigationBar.prefersLargeTitles = true
        navigationItem.title = title
        navigationItem.largeTitleDisplayMode = .automatic
    }
}

但是,當我放置以下內容時,似乎沒有調用此擴展程序:

navigationController?.navigationBar.prefersLargeTitles = true

進入我的ViewDidLoad ,它按預期工作。 關於為什么會這樣的任何想法?

當您調用navigationController?.navigationBar.prefersLargeTitles = true它指的是ViewController.navigationController

但是你的擴展是用於UINavigationController所以它指的是ViewController.navigationController.navigationController

只需替換這個:

navigationController?.navigationBar.prefersLargeTitles = true

有了這個:

navigationBar.prefersLargeTitles = true

並在viewDidLoad調用它:

navigationController?.configure(with: "")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM