Есть ли onViewDidReload ()? - PullRequest
       3

Есть ли onViewDidReload ()?

0 голосов
/ 18 октября 2018

Я использую tabbarController, имея два вида вкладок и устанавливаю navbarTitle следующим образом в моих tabViews (в didViewLoad):

self.tabBarController?.title = "Title"

Теперь моя проблема в том, что при нажатии на второй TabbarItemназвание меняется так, как я хочу.Но при возврате к первой вкладке заголовок не меняется обратно.Я думаю, что мне нужно было бы установить заголовок в методе, как onResume() (Android вдохновлен).Как мне сделать это в программировании IOS?

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Сделайте что-нибудь делегатом вашего контроллера панели вкладок.У UITabBarControllerDelegate есть метод tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController), который вызывается всякий раз, когда выбирается вкладка.Вы можете изменить название там.

Альтернативное (и, вероятно, лучшее) предложение, основанное на вашем вышеупомянутом комментарии, состоит в том, чтобы в качестве корневого контроллера представления использовался контроллер панели вкладок, а каждая вкладка являлась контроллером навигации, который содержит ваш контроллер представления содержимого.Таким образом, вы показываете отдельный контроллер навигации для каждой вкладки, и это, вероятно, сделает вашу дальнейшую разработку намного проще.

0 голосов
/ 18 октября 2018

Вы можете сделать это в viewWillAppear:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.tabBarController?.title = "Title"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...