#objective-c #cocoa-touch #ios #uiviewcontroller #uitabbar
#objective-c #cocoa-touch #iOS #uiviewcontroller #uitabbar
Вопрос:
Когда я переключаю вкладки в своем приложении на панели вкладок, одно из моих представлений нуждается в обновлении, поскольку пользователь, возможно, изменил настройки, которые влияют на него. Это UIViewController
представление, но при переключении представлений viewDidLoad
/ Appear
методы не вызываются. Можно ли это решить с помощью NSNotification
или любым другим способом? Пожалуйста, приведите пример кода, особенно для NSNotification
s, поскольку я новичок в них.
Комментарии:
1. Почему они не вызываются? Вы используете
UITabBarController
объект или простоUITabBar
?2. Все приложение работает на UITabBarController, но представление, о котором я говорю, является подвидом одной из вкладок. Я просто хочу знать, как заставить его обновляться при переключении вкладок.
3. Итак, это [TabBarController]->[ViewController]->[view]->[yourView] (который управляется контроллером представления). Я правильно определил путь?
4. да, только есть еще один вид и контроллер просмотра после первого контроллера просмотра и представления
Ответ №1:
Возможно, вы захотите заглянуть в UITabBarControllerDelegate
и tabBarController:didSelectViewController:
. Там вы можете определить, как обрабатывать изменение представления и нужно ли обновлять представление на основе возможного изменения предпочтений.
Ответ №2:
TabBarController:didSelectViewController: вы можете реализовать этот метод в appdelegate. вы получите корневой контроллер просмотра sxact, на который нажал yopu. затем вы можете обновить это представление.