【发布时间】: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)