渐渐被遗忘的东西—UIWindow

什么是UIWindow

UIWindow是一种特殊的UIView,通常在一个app中至少会有一个UIWindow,iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。

取消App自动加载main.StoryBoard

General中找到Main interface , 将输入框中的数据清空后就不会加载main.StoryBoard

App取消自动加载main.StoryBoard后,如果什么也不做,会显示黑屏,这时我们需要做的是:

  1. 找到AppDelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  2. 创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  1. 设置窗口根控制器
KYViewController * kvc = [[KYViewController alloc] init];
self.window.rootViewController = kvc;
  1. 显示窗口
[self.window makeKeyAndVisible];

[self.window makeKeyAndVisible] 的底层实现其实就是将self.window的指针指向UIApplication对象的keyWindow属性

如果想管理当前应用程序的所有Window,可以使使用[UIApplication sharedApplication].windows获取

设置窗口层级

UIWindow对象设置windowLevel属性

@property(nonatomic) UIWindowLevel windowLevel;  

两个特殊的Window

  1. 状态栏
  2. 弹出键盘
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容