2015-04-19 4 views
0

Я работаю над обработкой push-уведомлений для своего приложения. При открытии приложения из уведомления я хочу «нажать» новый контроллер представления с соответствующим контентом.Добавление временного навигационного контроллера в корневой вид

Мой корневой контроллер - TabBarController, поэтому не может его использовать.

Я предполагаю, что одним из решений является добавление контроллера навигации в мой корень, а затем использование этого для перехода к новому контроллеру.

Это рекомендуемый способ сделать это или есть лучшая практика здесь?

ответ

0

Код ниже сделает то, что вы ищете. Однако вам нужно как-то разрешить пользователю отклонить этот ViewController, чтобы вернуться к обычному пользовательскому интерфейсу.

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
     UIApplicationState state = [application applicationState]; 

    if (state == UIApplicationStateInactive || state == UIApplicationStateBackground) { 

      YourViewController *vc = [[YourViewController alloc] init]; 
      [self.window addSubview:vc.view]; 

      [self.window.rootViewController presentViewController:viewController animated:NO completion:nil]; 
    } 
} 
+0

Спасибо за ответ, но это приведет к модальной презентации, я пытаюсь «нажать» ее. – marsrover

+0

Я не понимаю, что вы имеете в виду в этом случае. Вы можете просто вставить его в навигационный контроллер. Вы имеете в виду, что при нажатии назад вы можете вернуться в RootViewController? Может быть, диаграмма поможет. – Mika

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