ios实用开发技巧

iOS Warning: Attempt to present

2017-10-17  本文已影响319人  bc3d3e66fba3

今天在项目中有个需求,就是在接收到通知后弹出一个UIAlertController,但是并没有弹出来,出现了下面的错误信息提示:

Warning: Attempt to present <UIAlertController: 0x131927d50> on <XX_BaseTabbarVC: 0x12fe4a880> whose view is not in the window hierarchy!

我原来的做法是找到当前的VC后,就present

 [vc presentViewController:alertController animated:YES completion:nil];

结果是并没有弹出提示。根据这个提示信息我在查找了一下关于这个问题的解决方法,在这篇文章中找到了一个解决的方法,于是,按照这篇文章的解决方法,我就更改了我的代码

AppDelegate * appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
UINavigationController *navVC = (UINavigationController *)appDelegate.window.rootViewController;
UIViewController *vc = navVC.visibleViewController;
[vc presentViewController:alertController animated:YES completion:nil];

就可以弹出你想要的提示了!

上一篇 下一篇

猜你喜欢

热点阅读