2010-11-14 3 views
5

Так как в заголовке описывается, мой вопрос: как программно переключить контроллер вида в iOS.Программно переключаемые контроллеры просмотра MVC - iOS

Итак, пример: у меня есть настройка меню MVC, теперь я нажимаю «Справка». Как я программно передаю это на контроллер справки для загрузки этой настройки MVC?

спасибо!

ответ

5

Является ли это приложение на основе просмотра или навигация?

Для навигации на основе применения, ваш AppDelegate должен обеспечить доступ к общему UINavigationController, которые вы можете использовать, чтобы подтолкнуть/поп UIViewControllers

[self.navController pushViewController:helpViewController animated:YES] 

тогда, когда пользователь хочет оставить вид справки и вернуться на главный экран вы бы выскочили. Эта функциональность обеспечивается автоматически задней левой кнопки/в UINavigationBar, но вы можете запустить его вручную с помощью переключателя popViewcontrollerAnimated:

[self.navController popViewControllerAnimated:YES] 

Для приложений View на основе, перемещение между экранами, манипулируя подвиды

[window addSubview:helpViewController.view] 
+2

Хотя комментарии на основе навигации стоят того, вы открываете свой f в мир проблем, используя подход: '[window addSubview: helpViewController.view]'. Я не буду скрывать это - все это было охвачено [здесь] (http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/). – GarlicFries

1

Использование шаблона Utility должно быть самым быстрым решением. У вас будет два вида, которые могут переключаться назад и вперед волшебным образом.

Однако Таковыми могут быть реализованы с помощью следующих шагов

на кнопку помощи трогали, просто позвоните

[self presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated]; 

должен вернуться кнопку на HelpViewController

[self dismissModalViewControllerAnimated:(BOOL)animated]; //call to return back to parent view controller 

имеют удовольствие ^^

+0

Что делать, если вы хотите перемещаться между более чем двумя видами? У меня есть приложение, которое имеет много просмотров, но не является линейным, поэтому я не думаю, что приложение для навигации является подходящим. какие-либо предложения? – gonzobrains

+0

Приложение панели вкладок - наиболее подходящий способ сделать то, что вы хотите (с минимальными усилиями). –

Смежные вопросы