UIWindow

UIWindow是什么?

UIWindow是一种特殊的UIView,通常在一个app中至少有一个UIWindow

iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。

一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow

也就是说,没有UIWindow,完全看不到视图界面

如果有main,它会加载main.storyboard
在加载main.storyboard之前会先创建一个窗口
把main.storyboard箭头指向的控制器设为窗口的根控制器
显示窗口,把窗口的根控制器的view添加到窗口

代码:手动操作,不用系统的程序

//创建窗口
self.window = [[UIWindow alloc] init];
//设置窗口的根控制器
self.window.rootViewController = vc;
//在窗口中显示根控制器的view
[self.window makeKeyAndVisible];
/*
   1.设置应用程序的主窗口
   2.让窗口显示,把窗口的hidden设为NO
   3.把窗口的根控制器的view添加到窗口上
*/

UIWindow补充:

在应用程序中,键盘和状态栏都是window

UITextField *textField = [[UITextField alloc] init];
[textField becomeFirstResponder];
//UITextField想要弹出键盘,必须得要添加到一个view上
[vc.view addSubview:textField];


//从ios9之后,如果添加了多个窗口,控制器它会自动把状态栏给隐藏掉
//解决办法就是把状态栏给应用程序管理  info.plist中设置
//可以设置window的级别
self.window.windowLevel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值