视图层次结构与视图控制器

UIWindow作为iOS程序的窗口(也可以说是根视图),它就像一个容器,可以用来存放自己定义的各个子视图(UIView或其子类)。层次结构中的每个视图分别绘制自己,视图会将自己绘制在图层上。

为UIWindow添加View的方法为[self.window addSubView:(View的名字)];当然也可以设置window的rootViewController属性,rootViewController的类型为UIViewController类型,即视图控制器。每个UIViewController或者是继承自UIViewController的子类都有一个view属性,view属性指向一个UIView对象。 UIViewController对象可以管理一个视图层次结构,view就是这个视图层次结构的根视图,当程序将view作为子视图加入窗口时,也会加入UIViewController对象所管理的整个视图层次结构。

在UIViewController的子类对象中,UINavigationController对象、UITabBarController对象它们是包含视图控制器的视图控制器,我们称之为视图控制器容器。它们都有一个类型为数组的viewControllers属性,用以保存一组视图控制器。作为UIViewController的子类对象,它们也有view属性,并且将viewControllers中的对象的view加入自己的view中。

当我们使用视图控制器容器时,视图控制器容器与其viewControllers中的对象间就会产生父子关系,视图控制器容器是父亲,viewControllers中的对象是孩子。

处在同一个父子关系下的视图控制器形成一个家族。比如,UITabBarController对象跟它viewControllers中的对象就属于一个家族。家族可以有多个层级。例如,一个UITabBarController对象可以包含若干个UINavigationController对象,每个UINavigationController对象又可以包含若干个UIViewController对象;再如,一个UINavigationController可以包含一个UITabBarController对象,一个UITabBarController对象又可以包含若干个UIViewController对象,在上述两种情形下,UINavigationController对象、UITabBarController对象和UIViewController对象同属一个家族。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值