一、UIWindow
1、UIWindow的概念
UIWindow(窗口) 通过这个窗口 可以看到窗口的内容。iOS里面一般只有一个窗口(UIWindow) 用于管理、协调应用中显示的控件。
2、主要作用:1)它是个容器 给view(视图) 提供展示的区域
2)将事件(如:旋转、点击等)分发给 view
3、UIWindow 其实也是一个view(视图) 继承自UIView
4、UIWindow 一般和硬件的尺寸一样大
5、UIWindow 一个非常重要的属性 rootViewController 用来告诉系统 哪一个是根视图控制器。视图控制器:用来调度 管理视图的控制者
6、UIWindow 一个非常重要的方法 makeKeyAndVisible 让窗口显示 并且接收事件
7、初始化方式
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
注释:makeKeyAndVisible 让窗口显示并接受事件
[self.window makeKeyAndVisible];
二、UIView
1、UIView:UIView是视图 代表屏幕上的一个矩形区域 各种UI控件都属于View 不同的控件属于不同种类的视图 iOS中所有能看到的内容都是UIView或其子类
2、 frame 是坐标体系 (位置) 里面的一种 它是相对父视图或者硬件设备 来获取自己的位置的 (需要一个参考物 来得到自己的位置)
3、bounds 是坐标体系 (位置) 里面的一种 相对自身来说 也就是 以自己为主 自己的边境范围
4、 1)alpha 视图透明度的属性 默认值是1 也就是完全不透明
2)alpha 透明度 是0 的时候 就不会再接收 任何触发事件
示例:view1.alpha = 0.4;
5、tag 类似于身份证号码 可以通过tag 来找到对应的视图 (依赖于父视图的 在它的父视图上 通过tag找到这个视图)
view1.tag = 100;
6、bounds 相对于自身的范围 bounds的原点永远是0,0 边境范围
示例:view1.bounds = CGRectMake(0, 0, 200, 200);
7、hidden 默认值是NO 控制 视图是否隐藏 如果是YES 隐藏视图
示例:view3.hidden = YES;
8、addSubview 把view1 贴到窗口上 (父视图上)
示例: [self.window addSubview:view1];
9、计时器方法一
NSTimer *timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(changeColor) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
计时器方法二
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(changeColor) userInfo:nil repeats:YES];
10、viewWithTag 通过这个方法 可以找到 对应tag的视图 在它的父视图上查找
UIView *view = [self.window viewWithTag:100];
view 是查找到的添加在 self.window 上的 view1