Сначала создайте подкласс UINavigationController
class NavigationController: UINavigationController {
}
Не забудьте изменить класс вашего UINavigationController
в раскадровке
![enter image description here](https://i.stack.imgur.com/hLMju.png)
теперь в вашем подклассе UINavigationController
создайте свойства ваших ярлыков и установите их
class NavigationController: UINavigationController {
var firstLabel: UILabel?
var secondLabel: UILabel?
var thirdLabel: UILabel?
override func viewDidLoad() {
super.viewDidLoad()
firstLabel = UILabel(frame: CGRect(x: navigationBar.frame.width/2, y: 8, width: 15, height: 10))
secondLabel = UILabel(frame: CGRect(x: navigationBar.frame.width/2 + 30, y: 8, width: 15, height: 10))
thirdLabel = UILabel(frame: CGRect(x: navigationBar.frame.width/2 + 60, y: 8, width: 15, height: 10))
navigationBar.addSubview(firstLabel)
navigationBar.addSubview(secondLabel)
navigationBar.addSubview(thirdLabel)
firstLabel.text = "1"
secondLabel.text = "of"
thirdLabel.text = "3"
}
}
, затем вы захотите менять firstLabel.text
каждый раз, когда переходите к другому ViewController.Итак, во ViewController в viewWillAppear
получите ссылку для вашего NavigationController
и установите текст этого firstLabel
следующим образом
class ViewController1: UIViewController {
override func viewWillAppear(_ animated: Bool) {
if let navController = navigationController as? NavigationController {
navController.firstLabel?.text = "1"
}
}
}
, а затем сделайте то же самое для второго и третьего UIViewController
class ViewController2: UIViewController {
override func viewWillAppear(_ animated: Bool) {
if let navController = navigationController as? NavigationController {
navController.firstLabel?.text = "2"
}
}
}
...