2017-07-27 8 views
0

私は、閉じているプロセスのUIViewControllerからUIAlertControllerを表示しようとしているObjectve C iOSアプリケーションを持っています。私はAppDelegateで、この一般的な回避策を追加しようとしている:閉じるビューコントローラからの警告を提示する

で呼び出され
- (UIViewController *)currentTopViewController 
{ 
    UIViewController *topVC = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 
    while (topVC.presentedViewController) 
    { 
    topVC = topVC.presentedViewController; 
    } 
    return topVC; 
} 

[appDelegate.currentTopViewController presentViewController:alert animated:YES completion:nil]; 

しかし、このエラーがまだ表示されている:

Warning: Attempt to present UIAlertController on MyViewController whose view is not in the window hierarchy! 

誰が助言することはできますか?

+0

あなたは通知を送信(または委任を使用、など)親のViewControllerに、そこから – nathan

+0

@nathanそれを提示しなければならないあなたは、通知の使用例を提供してもらえますか? – user2181948

+0

委任の例:https://stackoverflow.com/a/33229483/2124535、NotificationCenterの例:https://stackoverflow.com/a/29738348/2124535 – nathan

答えて

0

viewcontrollerを閉じるときにアラートを表示する場合は、完了ブロックでdismissを実装してそこに表示するだけで済みます。たとえば、

[self dismissViewControllerAnimated:YES completion:^(void) { 
    // UIAlertController code here 

}]; 
関連する問題