2012-04-09 4 views
0

Мне интересно, какой был бы лучший способ достичь моей цели. У меня есть приложение для iPhone, которое использует раскадровки и имеет контроллер панели управления в качестве корневого представления. Под одной из вкладок мне нужно показать контроллер вида, встроенный в контроллер навигации, и около 3 слайдов в глубину при нажатии локального уведомления.Локальные оповещения и раскадровки

Любые идеи о лучшем способе сделать это? Продолжаем пытаться осуществить это чистым способом, и я отправлю сообщение, если у кого-нибудь не будет ответа, но какая-то помощь в правильном направлении будет оценена по достоинству. Благодарю.

ответ

1

Это был метод, который я был после того, как:

  • (недействительных) setViewControllers: (NSArray *) viewControllers анимированные: (BOOL) анимированные

И так как я хотел бы использовать существующие viewcontrollers, которые имели макеты для моего представления из раскадровки, я потянул их за использование этого и инициализировал то, что мне нужно. Помогите, это поможет кому-то еще в будущем.

  • (идентификатор) instantiateViewControllerWithIdentifier: (NSString *) Идентификатор
+0

этот метод работает для вас, когда приложение не работает вообще, т.е. даже не в фоновом режиме? – Ben

+0

Да, это сработало для меня, но метод выиграл, пока он работает в фоновом режиме. Когда приложение появится на переднем плане, когда будет запущен метод. – Michael

0

Я использовал бы свойство userInfo на классе UILocalNotification. Настройте строку с именем контроллера, который вы хотите показать.

Поймать уведомления с:

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 

В AppDelegate. Затем найдите строку, вы экономите на UILocalNotification и использовать следующий метод в UINavigationController:

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated 

Для того, чтобы показать необходимый Вам ViewController. Если вы хотите, чтобы ваше приложение всегда отображало тот же контроллер, вам не нужно настраивать userInfo, вам нужно только реализовать метод UINavigationController выше.

Надеюсь, это поможет.

+0

Мне кажется, что этот метод не позволит перемещаться назад к предыдущим видам в навигации стека. Представление, которое я получаю, занимает 3-е место в стеке навигационных контроллеров. Если у 1 и 2 нет данных, необходимых для инициализации, при таком подходе я был бы не похож. – Michael

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