UIWindow、UIView与UIViewController的关系

1.UIWindow(窗口)

UIWindow是一个特殊的UIView,UIWindow类继承自UIView。一般来说,一个App只有一个UIWindow,但特定情况下也会出现多个UIWindow,例如,键盘弹出的情况下,就会存在多个UIWindow。iOS启动完毕后,创建的第一个视图控件就是UIWindow,此时需要给UIWindow对象指定根控制器,即设置rootViewController属性,系统会自动把rootViewController的view添加到window上,从而在屏幕上就可以显示出程序启动后的初始界面。rootViewcontroller是应用程序的根控制器,只要App未被销毁,则rootViewcontroller就不会被销毁。

2.UIView(视图)

每个UIView都负责在屏幕上一个特定矩形区域的显示,可以通过设置backgroundColor属性来查看该矩形区域的范围。每个UIView对象除了要负责渲染视图矩形区域内的内容之外,还要响应该区域中发生的用户交互事件,因为UIView继承自UIResponder类,并且每个UIView对象中都可以添加一个或多个子UIView对象。UIView对象只有显示在UIWindow上,用户才能看到界面的样式。通过UIView类的window属性,可以获得该UIView对象所在的UIWindow对象。

3.UIViewController(视图控制器)

每个UIViewController都有一个view属性,用于显示该控制器的外观样式。UIViewController类负责管理在view上显示的数据,并协调它们和应用程序其他部分的关系。UIViewController类负责创建其管理的视图,并且在内存不足时,将它们从内容中移出,可以在didReceiveMemoryWarning方法中实现。除此之外,视图控制器还为某些标准的系统行为提供自动响应。例如,在设备方向变化时,如果应用程序支持该方向,视图控制器可以对其管理的视图进行尺寸调整,使其适应新的方向。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值