UIWidow

作者: Q2我没有疯 | 来源:发表于2018-04-17 23:20 被阅读0次

    什么是UIWindow

    • UIWindow是一种特殊的UIView,一个app中至少会有一个UIWindow
    • 应用程序启动完毕后创建的第一个视图控件就是UIWindow,接着创建控制器的View然后将控制器的view添加到UIwindow上,然后控制器的view就显示在手机上了
    • 没有UIWindow就会看不到任何UI界面

    UIWindow的创建

      // 1.创建窗口对象
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
        // 2.创建窗口的根控制器
        ViewController *vc = [[ViewController alloc] init];
        vc.view.backgroundColor =[UIColor whiteColor];
        // 3. 设置控制器为窗口的根控制器
        self.window.rootViewController = vc;
         /* 
              rootViewController:相当于 [self.window addSubview:vc] 只是用rootViewController会多一个旋转动画
    
        */
        // 4.显示窗口
    /   [self.window makeKeyAndVisible];
        /**
         makeKeyAndVisible:底层相当于实现了以下两点
         1.可以显示窗口  self.window.hidden = NO;
         2.成为主窗口    application.keyWindow = self.window;
        self.window.hidden = NO;
        NSLog(@"%@",self.window);
         */
    
    

    其他的窗口

    1.状态栏
    2.键盘

    UIWindowLevel(窗口的层级关系)

    分三个级别

    • UIWindowLevelNormal
    • UIWindowLevelAlert
    • UIWindowLevelStatusBar
    UIWindowLevel.png

    通过打印UIWindowLevel的值我们可以看出它们的层级关系UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal

    // 窗口的层级最高显示在最上面
     self.window.windowLevel = UIWindowLevelAlert;
    

    相关文章

      网友评论

          本文标题:UIWidow

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