UIView的作用

UIView

【UIView的作用】

主要用来显示应用程序的内容,可以作为label、button等控件的容器、表示屏幕上的一块矩形区域,同时可以处理该区域的绘制和触屏事件。

 

MVC,MVVM等设计架构中的V,指的就是View部分

 

【视图的初始化】

 

- initWithFrame:(CGRect)frame

 

【视图坐标】(Frame和bounds的关系)

Frame以其父视图为起点,得出它自己的位置。

Bounds即以iOS系统的坐标原点为起点,坐标为(0,0)

Center表示视图中心点所在的位置,设置此属性可以改变视图的位置。

 

 

举例验证:

 

注意:缺省情况下,视图的边框并不会被父视图的边框裁剪。如果你希望让一个视图裁剪其子视图,需要将chipsToBounds 属性设置为YES

 

【UIView的层次结构】

一个视图就是一个容器,当一个视图包含其他视图的时候,两个视图之间就建立了一个父子关系,被包含的视图被称为“子视图(subView)”,包含的视图称为”父视图或者超视图(superView)”

 

从视觉上看,子视图隐藏了父视图的内容,设置透明属性可以看到父视图的内容。

 

每一个父视图都有一个有序的数组存储着它的子视图,存储的顺序就会影响到每个子视图的显示效果,比如两个兄弟视图,后来被加入的视图就会在另外视图的上面

 

一个视图可以嵌入多个子视图(subView),但是只能有一个superView;

 

【常用属性】

alpha //透明度

backgroundColor //背景色

subViews //子视图集合

hidden //是否隐藏

tag //标签值

superview //父视图

multipleTouchEnabled //是否开启多点触控

userInteractionEnabled //是否响应触摸事件

 

通过transform属性来改变

CGAffineTransformScale //对视图进行比例缩放

CGAffineTransformRotate //对视图做变焦转换 M_PI代表180度 顺时针

CGAffineTransformTranslate //对视图在原来的位置上做平移 移动单位为像素

 

 

【UIView的常用方法】

当调用addSubView的时候,父视图就会变成子视图的持有者,这时候子视图的引用计数就会增加1,调用removeFromSuperView的时候,则会进行引用计数相应减少

 

addSubview: //添加子视图

insertSubView:atInsex: //视图插入到指定索引位置

insertSubView:aboverSubview:: //视图插入指定视图之上

insertSubview:belowSubview: //视图插入指定视图之上

bringSubviewToFront: //把视图移动到最顶层

sendSubviewToBack: //把视图移动到最底层

exchangeSubviewAtIndex:withSubviewAtIndex: //把两个索引对应的视图调换位置

removeFromSuperview //把视图从父视图中移除

viewWithTag: //根据指定的tag值,查找视图

UIView *myView = [UIView alloc]initWithFrame:CGRectMake(0,0,100,100)];

myView.tag = 10;

[self.window addSubview:myView];

UIView *view = [self.window viewWIthTag:100];

 

 

【自定义UIView完成UIButton代理以及block回调的实现】

//布局的时候会调用,在iOS5.1

- (void)setNeedsLayout

- (void)layoutSubviews{

}

- (void)setNeedsDisplay;//该方法的调用,可以让视图完成重绘

- (void)drawRect:(CGRect)rect{

}

 

posted @ 2016-11-08 10:04  A码农151  阅读(799)  评论(0编辑  收藏  举报