Answers:
您可以通过更改显示的视图控制器的标题来更改标题:
viewController.title = "some title"
通常,这是在视图控制器上加载视图时完成的:
override func viewDidLoad() {
super.viewDidLoad()
self.title = "some title"
}
但是,这仅在将视图控制器嵌入UINavigationController中时有效。我强烈建议您这样做,而不要自己创建导航栏。如果您坚持要自己创建导航栏,则可以通过执行以下操作来更改标题:
navigationBar.topItem.title = "some title"
在以下尝试 viewDidLoad
self.navigationItem.title = "Your Title"
以下代码适用于Xcode 7:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title = "Your Title"
}
而且,如果您尝试Navigation Bar
手动创建此代码,也会对您有所帮助
func setNavBarToTheView() {
let navBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 64.0))
self.view.addSubview(navBar);
let navItem = UINavigationItem(title: "Camera");
let doneItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.cancel, target: self, action: #selector(CameraViewController.onClickBack));
navItem.leftBarButtonItem = doneItem;
navBar.setItems([navItem], animated: true);
}
如果要从导航控制器中嵌入的页面视图控制器的子视图控制器更改标题,则如下所示:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.parent?.title = "some title"
}
在Swift 4中:
斯威夫特4
override func viewDidLoad() {
super.viewDidLoad()
self.title = "Your title"
}
希望对您有所帮助!
我更喜欢使用self.navigationItem.title = "Your Title Here"
了self.title = "Your Title Here"
在导航栏提供标题,因为标签栏也使用self.title
来改变它的标题。您应该一次尝试以下代码。
注意:在执行任何操作之前,必须调用超级视图生命周期。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
setupNavBar()
}
}
private func setupNavBar() {
self.navigationItem.title = "Your Title Here"
}