Переключение между UITabBarController и UINavigationController - PullRequest
0 голосов
/ 25 мая 2009

Основная функциональность моего приложения контролируется UITabBarController. Тем не менее, мне нужно загрузить View, который имеет UINavigationController. Когда я возвращаюсь к своему UITabBarController, используя

        self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];

Мой UITabBarController больше не реагирует на нажатия. Похоже, что у View нет фокуса.

Однако, если я использую этот код, чтобы вернуться к UITabBarController:

[window addSubview:tabBarController.view]

Мои кнопки будут реагировать. Я чувствую, что addSubview менее эффективен, потому что я никогда не удаляю представление из окна и, следовательно, оно должно добавлять вторую копию представления в стек. Я прав? Есть ли способ использовать первый метод и заставить мои кнопки реагировать? Пожалуйста, дайте мне знать.

1 Ответ

1 голос
/ 25 мая 2009

Похоже, вы неправильно представляете Nav Controller. Вы определенно не должны добавлять представления непосредственно в окно. Вы хотите представить это, используя

[myTabBarController presentModalViewController:myNavController animated:YES];

Когда вы закончите с навигационным контроллером, вы отклоните его с помощью

[myTabBarController dismissModalViewControllerAnimated:YES];

и все должно работать.

Кстати, все это задокументировано в документации по UIViewController и в документе «Руководство по программированию контроллера для iPhone OS».

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