【问题标题】:iOS 14.2, UIKit programatically title is not showing upiOS 14.2,UIKit 编程标题未显示
【发布时间】:2021-02-25 07:52:29
【问题描述】:

我正在以编程方式制作应用程序。我有一个带有三个选项卡的 TabBarController。每个选项卡代表一个 viewController。在此视图控制器中,如果我正在设置标题,但标题未显示。屏幕截图:

TabbarController 代码:

class TabbarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let vc1 = ViewController()
        let vc2 = SearchViewController()
        let vc3 = LibraryViewController()
        
        vc1.title = "Home"
        vc2.title = "Search"
        vc3.title = "Library"
        
        vc1.navigationItem.largeTitleDisplayMode = .always
        vc2.navigationItem.largeTitleDisplayMode = .always
        vc3.navigationItem.largeTitleDisplayMode = .always
        
        let nav1 = UINavigationController(rootViewController: vc1)
        let nav2 = UINavigationController(rootViewController: vc2)
        let nav3 = UINavigationController(rootViewController: vc3)
        
        nav1.navigationBar.prefersLargeTitles = true
        nav2.navigationBar.prefersLargeTitles = true
        nav3.navigationBar.prefersLargeTitles = true
        
        
        setViewControllers([vc1,vc2,vc3], animated: true)
    }

}

ViewController 代码:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .systemBackground
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        self.title = "Home" // This title is not showing up

    }
}

【问题讨论】:

  • 试试这个self.navigationItem.title = "Home"
  • 不行,试过了。
  • 确保你的控制器有导航栏并且字体颜色与背景颜色相反。
  • 请问如何确保我的控制器有导航栏?
  • 改行setViewControllers([nav1,nav2,nav3], animated: true)

标签: swift uikit


【解决方案1】:

问题出在TabbarController 类文件中。 您已设置视图控制器而不是包装的 UINavigationController。

所以,使用这条线

setViewControllers([nav1,nav2,nav3], animated: true)

而不是setViewControllers([vc1,vc2,vc3], animated: true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多