UIWidow

什么是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
UIWidow_第1张图片
UIWindowLevel.png

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

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

你可能感兴趣的:(UIWidow)