一个显示在window上的view在VC的viewDidLoad中不显示记录
来源:互联网 发布:淘宝话费没充上不能退 编辑:程序博客网 时间:2024/05/22 02:11
今天在写程序的时候,遇到这么一个问题:
问题描述:写了一个AlertView控件,window做为显示这个View的容器,现在控件已经全部写好了,在测试的时候我是这么写的,代码如下:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor yellowColor]; [UCARProgressManager showMessageUseAlert:@"OK" animated:YES];}
封装的就是这么6,其中在 UCARProgressManager showMessageUseAlert方法里是把alertView直接加到keyWindow上。这个时候问题来了,发现我这个包装好的AlertView并没有在运行时显示出来。带着这个疑问,在网上找到一个被转爆的文章:http://stephen830.iteye.com/blog/2253551。其实这里遇到的问题和这个基本上是一样的,追根溯源还是自己对view显示的基本概念不清楚。
看完上面的帖子大致明白了,可是总觉得缺点什么,下面是我的总结:
1、viewDidLoad方法是我们初始化一个VC的时候调用且仅仅调用一次,它的作用是去初始化数据(脑补MVC),初始化本VC中视图的大小和内容等等,注意,不显示视图;
2、viewWillAppear方法:因为ViewDidLoad只是第一次调用VC的时候被调用且仅仅一次,所以如果我们的视图被覆盖或者改变展示数据的时候就要用这个方法,理解为初始化数据也是可以的,注意仍然不展示视图。注意:到目前为止,你可以调用self.view.window,会发现window为nil;
3、viewDidAppear:调用这个的时候视图才展示了出来,这个时候self.view.window属性不为nil了,就可以显示我们的视图了。其实我们只要记住,只有将view展示在window上我们才能看到这个view,所以如果我们在window出现之前想去展示一个依赖于window的视图,那是不可能的,例如:写在viewDidLoad中。
我知道看完你一定还有疑问:“我明明在viewDidLoad中初始化了我的view并且显示了啊”.。我推介你在viewDidLoad中看看你的keyWindow是否为nil。
同样,如果按照VC的生命周期来说,那视图将消失的时候,我们知道该干什么了吧!
阅读全文
0 0
- 一个显示在window上的view在VC的viewDidLoad中不显示记录
- 在UIViewController的view上添加子视图不显示
- 在VC中实现程序不在任务栏显示按钮, 标题栏与菜单栏的不显示
- c#中怎么让程序在屏幕上显示的时候任务栏中不显示?
- Eclipse,点击了show view的svn,为什么在界面上还是不显示
- VC中在对话框上显示图片
- window之 窗口在任务栏上不显示
- iOS 8的scrollView上的试图都不显示(scrollView直接加在带navigation的self.view上
- popwindow在View的上,下,左,右 显示
- MTStatusBarOverlay —— 在状态栏上显示自定义的View
- 在ListView、ScrollView中动态存在高度不固定的View,高度显示异常
- 为什么我在table view cell中添加的按钮不显示
- eclipse安装TestNG后在view中不显示TestNG的解决方法
- 不显示在任务栏上,在按Ctrl+Alt+Del出现的任务列表中也不显示
- 一个子控件在父控件上不显示的几个大概原因
- iOS 【对iOS中控制器view的理解 以及 view仍在但不显示数据的原因探索】
- OLPreViewController 在ios10上的不显示的解决办法
- ext中Window窗体显示在最前面的解决方法
- Android Dialog方式弹出蒙版
- iOS开发 AVPlayerViewController(视频播放)的使用
- 【Spring】Spring Framework Reference Documentation中文版39
- 【Python爬虫错误】ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接
- git提交代码流程(供查询)
- 一个显示在window上的view在VC的viewDidLoad中不显示记录
- 连接svn 提交报错 Authorization failed
- Android SDK与API版本的对应关系
- CSS3 做一个有闪光效果的进度条
- PropertyUtils.copyProperties()用法和性能
- 某安全浏览器竟然也被查出高危漏洞?开源安全问题不容忽视
- 多级审批采购订单,按倒序逐级取消审批需做增强
- 浅谈代码的执行效率(1):算法是关键
- NYOJ【24】素数距离问题【水题】