создать демо, чтобы объяснить им:
Вы видите, мой vc1
желто-серый color
встраивать в navigation controller
, мой vc2
светло-зеленый color
встраивать в navigation controller
также, два navigation controller
все управляются tabbar controller
.
В ViewController.swift
(это vc1
), если установить self.title
:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.title = "vc1's title"
}
}
В ViewController2.swift
(это vc2
):
import UIKit
class ViewController2: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.title = "vc2's title"
}
}
Результатом является tabbar title
и navigation title
весь набор:
Если я устанавливаю self.navigationController?.title
:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// self.title = "vc1's title"
self.navigationController?.title = "vc1's nav title"
}
}
Результат tabbar title
устанавливается:
Если я устанавливаю self.navigationItem.title
:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// self.title = "vc1's title"
//self.navigationController?.title = "vc1's nav title"
self.navigationItem.title = "vc1's navItem title"
}
}
Результат navigation title
устанавливается:
Пробовали ли вы self.navigationController.navigationItem.title? – Kevin
Я знаю, что это работает как ваша демонстрация, я хочу знать основную причину этого, тогда я могу решить, какой из них использовать в моей будущей разработке. – Kevin