2015-05-23 4 views
0

Я открываю VC при получении локального уведомления.instantiateViewController с UINavigationController встроен в

func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) { 
    application.applicationIconBadgeNumber = 0 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    var VC = storyboard.instantiateViewControllerWithIdentifier("PendingRequest") as! PendingRequestVC 
    let navController = UINavigationController.self(rootViewController: VC) 

    UIApplication.sharedApplication().keyWindow!.rootViewController = navController 

} 

PendingRequestVC, который появляется имеет программно Закрыть Tab предмет, не может быть использована с NavController, который я создал в коде выше.

Я попытался вставить элемент табуляции с раскадровки и вместо этого использовал представленный Segue, но я все еще не могу закрыть PendingRequestVC.

Как я могу вызвать PendingRequestVC с помощью NavController, в который он встроен, вместо создания нового?

Или как я могу закрыть свой PendingRequestVC с помощью созданного NavController?

Заранее спасибо

ответ

1

Почему вы установите RootViewController в keyWindow? Вы, возможно, потребуется представлять модальный контроллер представления:

let rootViewController = UIApplication.sharedApplication().keyWindow!.rootViewController 
rootViewController.presentViewController(navController, animated: false, completion: nil) 

Если вы хотите, чтобы закрыть PendingRequestVC с созданным NavController:

// PendingRequestVC 
self.dismissViewControllerAnimated(true, completion: {}); 
+0

Awesome, именно то, что я искал. Спасибо, Bannings. Я вернусь, чтобы вернуться с достаточным количеством репутации. TY –

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