UIWindow 基本使用、与UIView的关系

基本用法

  1. 在info.plist配置文件中取消main.storyboard的作用
  2. 写在AppDelegate.m文件中的入口函数里
//当程序初始化成功后调用此函数
//此函数用来初始化整个程序框架结构
//整个程序对iOS开发工程师的入口函数
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    return YES;
}

创建一个UIWindow对象

//整个程序中只有一个UIWindow对象,也继承于UIView
//UIScreen 屏幕硬件表示类,一般只用一次
//mainScreen 获得主屏幕设备信息
//bounds表示屏幕的宽高值

self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    
//创建一个视图控制器作为UIWindow的视图控制器
self.window.rootViewController = [[UIViewController alloc]init];    
self.window.backgroundColor = [UIColor cyanColor];

//使window有效并显示在屏幕上
[self.window makeKeyAndVisible];

向UIWindow中添加UIView控件

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view.backgroundColor = [UIColor redColor];
    
//背景视图
UIView *backView = [[UIView alloc]initWithFrame:CGRectMake(0 , 0, 240, 360)];
backView.backgroundColor = [UIColor yellowColor];
//将backView作为view视图的父亲视图
//子视图的坐标是参照父亲视图的坐标系
//当父亲视图移动时,多有的子视图都会跟着移动
[backView addSubview:view];
[self.window addSubview:backView];

与UIView的关系

//每一个view都有一个window属性
//三个window是同一个
view.window;
backView.window;
 self.window;

你可能感兴趣的:(UIWindow 基本使用、与UIView的关系)