UIWindow

作者: 哎呦哎呦小葵花 | 来源:发表于2017-03-16 14:54 被阅读0次

    UIWidow基础知识

    • UIWindow是一种特殊的UIView,通常在一个app中,一般都会有UIWindow
    • iOS程序启动完毕后,创建的第一个视图控件就是UIWidow,接着创建控制器view,最后将控制器的view添加到UIWidow上,于是控制器的view就显示在屏幕上
    • 一个iOS程序值所以能显示子啊屏幕上,完全是因为它有UIWidnow
    • 也就是说,没有UIWidow,就看不见任何UI界面

    加载main.storyboard做的事情

    • 1、创建窗口
    • 2、加载main.storyboard,并且加载main.storyboard指定的控制器
    • 3、把创建的控制器作为窗口的根控制器,让窗口显示出来
    • 纯代码代表这个过程
    // 1.创建窗口,注意窗口必须要有尺寸,尺寸跟屏幕一样大的尺寸,窗口不要被释放
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor redColor];
    
    // 2.创建窗口的跟控制器
    UIViewController *vc = [[UIViewController alloc] init];
    vc.view.backgroundColor = [UIColor yellowColor];
    
    
    // 如果设置窗口的跟控制器,默认就会把控制器的view添加到窗口上
    // 设置窗口的跟控制器,默认就有旋转功能
    self.window.rootViewController = vc;
    
    // 相当于addSubviwe,但是这个方法添加,不能添加的控制器不能跟随window的旋转而旋转
    // [self.window addSubview:vc.view];
    
    // 3.显示窗口
    [self.window makeKeyAndVisible];
    

    UIWindow补充

    359e6638-d7b7-4153-a8d6-4b91dd199128.png
    // 相当于hidden = NO
    // 还有一个作用,就是让本window作为主窗口
    [self.window makeKeyAndVisible];
    
    // application.windows app窗口数
    // application.keyWindow app主窗口
    

    窗口

    主显示窗口、状态栏、键盘都是窗口

    窗口可以分层次

    @property(nonatomic) UIWindowLevelwindowLevel;
    
    UIWindowLevelNormal - 层级最低
    UIWindowLevelAlert
    UIWindowLevelStatusBar - 层级最高
    

    相关文章

      网友评论

          本文标题:UIWindow

          本文链接:https://www.haomeiwen.com/subject/gckjnttx.html