UIWindow相关
2016-12-20 16:55
239 查看
说道UIWindow,所有人都不会陌生,我们的第一个可视化iOS程序的显示,一定会用到UIWindow。
它就在这,谁也删不了。
每一个iOS应用都至少有一个window:
1.它包含您应用的可见内容
2.它在将触摸事件传递到您的视图和其他应用程序对象中起到关键作用
3.它处理您的视图控制器的方向改变
以上3句摘抄字官方文档。
除了是app的根视图以外,UIWindow还有很多用处,比如:
1.警告框
2.侧滑栏
3.引导页
等等,我暂时想到了这些
这次是我在写一个引导页的时候,好久不用window,踩了一些坑,分享给大家,省的再帮我踩一脚了
1.UIWindow必须是一个当前持有的对象,比如:我要在一个ViewController中需要window的话,那么这个window必须是ViewController的实例变量。当我想要将window封装在一个util中时,即便window是这个util的实例变量,那么util也必须被当前持有,我一般会将带有window的util做成一个单例。
2.UIWindow的显示,只需要一句:
3.UIWindow的层级
这是3个系统预定义的层级,分别代表了正常,警告,以及statusBar的层级,层级越高,越显示在上方,用户能够看到,我们用UIWindow这个组件的时候,一般都会修改一下level,方便控制显示层级。
4.UIWindow的销毁
在想要销毁我们创建的window的时候,用这两句就ok了
顺便分享一个利用window实现的比较有意思的小功能:
它就在这,谁也删不了。
每一个iOS应用都至少有一个window:
1.它包含您应用的可见内容
2.它在将触摸事件传递到您的视图和其他应用程序对象中起到关键作用
3.它处理您的视图控制器的方向改变
以上3句摘抄字官方文档。
除了是app的根视图以外,UIWindow还有很多用处,比如:
1.警告框
2.侧滑栏
3.引导页
等等,我暂时想到了这些
这次是我在写一个引导页的时候,好久不用window,踩了一些坑,分享给大家,省的再帮我踩一脚了
1.UIWindow必须是一个当前持有的对象,比如:我要在一个ViewController中需要window的话,那么这个window必须是ViewController的实例变量。当我想要将window封装在一个util中时,即便window是这个util的实例变量,那么util也必须被当前持有,我一般会将带有window的util做成一个单例。
2.UIWindow的显示,只需要一句:
[self.window makeKeyAndVisible];
3.UIWindow的层级
UIKIT_EXTERN const UIWindowLevel UIWindowLevelNormal; UIKIT_EXTERN const UIWindowLevel UIWindowLevelAlert; UIKIT_EXTERN const UIWindowLevel UIWindowLevelStatusBar __TVOS_PROHIBITED;
这是3个系统预定义的层级,分别代表了正常,警告,以及statusBar的层级,层级越高,越显示在上方,用户能够看到,我们用UIWindow这个组件的时候,一般都会修改一下level,方便控制显示层级。
4.UIWindow的销毁
[_window resignKeyWindow]; _window = nil;
在想要销毁我们创建的window的时候,用这两句就ok了
顺便分享一个利用window实现的比较有意思的小功能:
相关文章推荐
- 深入了解iOS开发中UIWindow的相关使用
- 与UIWindow相关几个控件
- asp.net中窗口相关操作总结(javascript)
- Web服务初探:用Demo学Web服务系列——Web服务中Soap消息的相关知识
- SQL2005备份与还原相关参数与方法说明
- android HAL相关网址
- oracle死锁的相关知识
- [Win32基础]多线程相关概念
- NSString的相关操作
- git相关网页
- 安卓启动相关以及架构设计相关
- Objective-C相关Category的收集
- JavaNIO:非阻塞NIO通信及相关对象讲解
- 性能测试相关指标计算法则
- 电商之梳理jetty相关知识---服务器
- GC(1.安全点的相关知识)
- 编程学习笔记之Java相关:包的概念和使用
- 移动WEB viewport 相关知识
- SpringMVC相关
- spring 集成 spring cloud config 的相关知识