Проблема заключается в навигации по представлениям приложения iPhone (с помощью push / pop viewcontroller) - PullRequest
0 голосов
/ 13 июня 2009

Вот сценарий. У меня есть 4 вида контроллеров v1, v2, v3, v4, которые отображаются на 4 вкладках iPhone (с помощью UITabbarcontroller). теперь я перемещаю другое представление sv1 в v1 (пока я смотрю v1, я использую pushviewcontroller, например [appDelegate.nv pushViewController: sv1 animated: YES]). nv - это инициализация UINavigationController с rootviewcontroller, v1.

Теперь, если я нажимаю v2 tabbar (пока я смотрю sv1), а затем нажимаю v1, я вижу sv1. Однако я не хочу такого поведения. Я хочу показать v1 вместо sv1. Как я могу удалить sv1 из представления своего родителя при нажатии v2?

Я пытался использовать [self.navigationController popToRootViewControllerAnimated: NO]; из метода viewWillDisappear sv1, и он не работает (он возвращается к v1, но все испорчено, например, панель навигации не прорисована и значок панели вкладок для v1 не отображается, весь вид v1, кажется, поврежден).

Может кто-нибудь сообщить мне, как я могу решить эту проблему?

Спасибо.

1 Ответ

1 голос
/ 13 июня 2009

Вы можете прочитать это сначала:

Проблема с подключением к корневому навигационному контроллеру на переключателе панели вкладок

В дополнительном ... UITabBarController соответствует UITabBarDelegate, где определено

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

вы можете позвонить туда popToRootViewControllerAnimated, более того, похоже, что ваш UINavigationController для v1 доступен из appDelegate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...