UI/UIWindow/UIView
2015-12-09 18:42
429 查看
UIWindow 窗口
UIWindow
在iOS应用程序中只能有一个主窗口
UIWindow 是用来承载显示 可以看到控件的容器
UIWindow 为什么说是一个容器 因为所有控件都是一层层添加到窗口上的
UIWindow初始化
self.window * = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//initWithFrame构造方法 在创建一个对象的时候同时给他一个Frame
获取屏幕边境范围[UIScreen mainScreen].bounds;
self.window * = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ViewController *vc = [[ViewController alloc]init];
self.window.rootViewController = vc;
self.window.backgroundColor = [UIColor redColor];
[self.window makeKeyAndVisible];//makeKeyAndVisible 让窗口是主窗口并且显示在屏幕上
UIView 视图
UIView一个视图所有视图类的父类
UIWindow也属于视图
视图的创建
UIView *view = [[UIView alloc]init];
[父视图 addSubview:要添加的视图];
添加视图到父类 如果没有这个方法创建的视图将不会显示在屏幕上
视频的位置和自身的大小 frame ——>位置
屏幕是由很多像素点组成的 视图的起始位置是origin 窗口的起始位置在左上角(0,0)
所有子视图都是根据origin(原点)来定义起始位置
size 尺寸 视图的大小
frame 视图中的一个属性
CGRect
CGRect frame
view.frame = CGRectMake(200,200,100,100);
背景颜色view.backgroundColor
UIColor颜色类
可以通过颜色类创建对象是一个颜色
UIColor *blue = [UIColor blueColor];
view.backgroundColor = blue;
view1.backgroundColor = [UIColor redColor];
设置视图透明度alpha
0.0(完全透明《所有属性方法类似被禁用》)-1.0(不透明)
view.alpha = 0.8;
隐藏hidden YES
隐藏
NO
显示
图层之间的关系 视图是一层层叠加到父视图上的
父视图子视图
父视图是一个承载体
子视图是父视图里面的一个元素
父视图的位置发生改变子视图也会跟随父视图一起改变
frame :是根据父视图来定义视图自身位置(原点)
定义frame不要超出父视图范围
超出部分将不再接受任何响应事件
center中心点对角线的交点
center.x =宽/2+原点的x
center.y =高/2+原点的y
改变中心点可以改变视图的位置
只能使用frame在创建视图的时候给他一个位置
相对于自身的位置原点永远是(0,0)
bounds自身的边境范围
bounds用途
是获得视图的宽高
忽略原点
定时器隔多少秒去做某件事
NSTimer
定时器的类
定时器初始化的方法
NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(start) userInfo:nil repeats:YES];
NSTimer定时器的类
定时器初始化的方法
Interval:时间间隔单位是秒
target:让谁去执行
selector:方法选择器用来选择一个方法去执行
repeats:重复次数
隔一秒执行start方法
重复执行
在同一个父视图中:
view移动到最上面
[self.window bringSubviewToFront:view];
把一个视图移动到底下
[self.window sendSubviewToBack:view2];
交换两个视图的方法
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;
[self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:1]
subviews(所有子视图组成的数组)是一个数组
self.window.subviews
初始化视图的顺序就是把视图存放到subviews这个数组里面的顺序
改变视图的顺序就是改变subviews数组里面元素的位置
插入view3到view1
[self.window insertSubview:view3 aboveSubview:view];
[self.window insertSubview:view3 atIndex:2];
插入到哪一个视图底下
[self.window insertSubview:view3 belowSubview:view];
tag:标记标签
标号
相当同一个父视图里面的身份证号
view3.tag=
100;
可以通过tag值在他的父视图找到这个视图
viewWithTag:在一个父视图上面查找有没有tag是多少的视图
移除视图
[view removeFromSuperview];
UIWindow
在iOS应用程序中只能有一个主窗口
UIWindow 是用来承载显示 可以看到控件的容器
UIWindow 为什么说是一个容器 因为所有控件都是一层层添加到窗口上的
UIWindow初始化
self.window * = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//initWithFrame构造方法 在创建一个对象的时候同时给他一个Frame
获取屏幕边境范围[UIScreen mainScreen].bounds;
self.window * = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ViewController *vc = [[ViewController alloc]init];
self.window.rootViewController = vc;
self.window.backgroundColor = [UIColor redColor];
[self.window makeKeyAndVisible];//makeKeyAndVisible 让窗口是主窗口并且显示在屏幕上
UIView 视图
UIView一个视图所有视图类的父类
UIWindow也属于视图
视图的创建
UIView *view = [[UIView alloc]init];
[父视图 addSubview:要添加的视图];
添加视图到父类 如果没有这个方法创建的视图将不会显示在屏幕上
视频的位置和自身的大小 frame ——>位置
屏幕是由很多像素点组成的 视图的起始位置是origin 窗口的起始位置在左上角(0,0)
所有子视图都是根据origin(原点)来定义起始位置
size 尺寸 视图的大小
frame 视图中的一个属性
CGRect
CGRect frame
view.frame = CGRectMake(200,200,100,100);
背景颜色view.backgroundColor
UIColor颜色类
可以通过颜色类创建对象是一个颜色
UIColor *blue = [UIColor blueColor];
view.backgroundColor = blue;
view1.backgroundColor = [UIColor redColor];
设置视图透明度alpha
0.0(完全透明《所有属性方法类似被禁用》)-1.0(不透明)
view.alpha = 0.8;
隐藏hidden YES
隐藏
NO
显示
图层之间的关系 视图是一层层叠加到父视图上的
父视图子视图
父视图是一个承载体
子视图是父视图里面的一个元素
父视图的位置发生改变子视图也会跟随父视图一起改变
frame :是根据父视图来定义视图自身位置(原点)
定义frame不要超出父视图范围
超出部分将不再接受任何响应事件
center中心点对角线的交点
center.x =宽/2+原点的x
center.y =高/2+原点的y
改变中心点可以改变视图的位置
只能使用frame在创建视图的时候给他一个位置
相对于自身的位置原点永远是(0,0)
bounds自身的边境范围
bounds用途
是获得视图的宽高
忽略原点
定时器隔多少秒去做某件事
NSTimer
定时器的类
定时器初始化的方法
NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(start) userInfo:nil repeats:YES];
NSTimer定时器的类
定时器初始化的方法
Interval:时间间隔单位是秒
target:让谁去执行
selector:方法选择器用来选择一个方法去执行
repeats:重复次数
隔一秒执行start方法
重复执行
在同一个父视图中:
view移动到最上面
[self.window bringSubviewToFront:view];
把一个视图移动到底下
[self.window sendSubviewToBack:view2];
交换两个视图的方法
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;
[self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:1]
subviews(所有子视图组成的数组)是一个数组
self.window.subviews
初始化视图的顺序就是把视图存放到subviews这个数组里面的顺序
改变视图的顺序就是改变subviews数组里面元素的位置
插入view3到view1
[self.window insertSubview:view3 aboveSubview:view];
[self.window insertSubview:view3 atIndex:2];
插入到哪一个视图底下
[self.window insertSubview:view3 belowSubview:view];
tag:标记标签
标号
相当同一个父视图里面的身份证号
view3.tag=
100;
可以通过tag值在他的父视图找到这个视图
viewWithTag:在一个父视图上面查找有没有tag是多少的视图
移除视图
[view removeFromSuperview];
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 分享一个iOS下实现基本绘画板功能的简单方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器