您的位置:首页 > 产品设计 > UI/UE

UI/UIWindow/UIView

2015-12-09 18:42 387 查看
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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UIView UIWindow ios