UIAlertController无法显示

UIAlertController无法显示

按照老师一模一样的写法,但是运行的时候没有弹出提示框,报了一个警告:

Warning: Attempt to present <UIAlertController: 0x7ff43b40afc0> on <ViewController: 0x7ff43b405c40> whose view is not in the window hierarchy!

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

因为这个时候在viewDidLoad中加载控制器可能viewDidLoad还没有执行完成,所以要在控制器显示之前加载控制器,也就是使用viewDidAppear方法。或者你可以在viewDidLoad中加一个按钮,通过按钮的点击事件方法触发加载UIAlertController也是可以的。

  • PAFFF 提问者 #1
    get了,谢谢老师
    2017-07-13 19:19:55
Tender10 2017-07-13 15:15:24

应该是显示UIAlertController的代码有问题,你可以将你的代码贴出来吗,便于更准确的帮助你解决问题。


  • 提问者 PAFFF #1
    #import "ViewController.h" @interface ViewController() { UIAlertController *alertController; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; alertController = [UIAlertController alertControllerWithTitle:@"Title" message:@"message" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleCancel handler:nil]; UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:nil]; [alertController addAction:cancelAction]; [alertController addAction:okAction]; [self presentViewController:alertController animated:true completion:nil]; } @end 【在网上查了一下,放到viewDidAppear方法里可以显示...但是在viewDidLoad里显示不了,不知道为什么】
    2017-07-13 17:54:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS进阶:界面优化与数据存储
  • 参与学习       516    人
  • 提交作业       158    份
  • 解答问题       637    个

本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师