UIWindow

  • 1.UIWindow是一种特殊的UIView(继承自UIView)

    1
    @interface UIWindow : UIView
  • 2.一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow,也就说,没有UIWindow,就看不见任何UI界面,

  • 3.AppDelegate内部默认有一个UIWindow对象

    1
    @property (strong, nonatomic) UIWindow *window; // 注意这里是strong
  • 4.只有一个UIWindow也可以显示

只有UIWindow的情况

  • 5.给UIWindow添加一个view—不能用该做法

在window上添加view

  • 6.给UIWindow设置根控制器(会自动将控制器的view添加到UIWindow上)

给window设置根控制器

  • 7.addSubViewrootViewController的区别
    • 直接用addSubView,控制器会被释放,控制器就不能处理事件(出现野指针错误)
    • 直接用addSubView,控制器的view不会跟随屏幕旋转而自动旋转。
    • 用rootViewController,控制器不会被释放,而且控制器的view会跟随屏幕旋转而自动旋转
    • 旋转事件->UIApplication ->Window->rootViewController ->旋转控制器的view