UIView 的介绍

view:(视图):代表屏幕上的一个矩形区域。iOS中的UIView来表示视图。
UI控件都属于view ,iOS中所有能看到的内容都是view或其子类。
超出父视图的范围:仍能显示,但是超出范围的控件无法执行。

那么如何创建View?
  视图创建代码
UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 120, 100)];
blueView.backgroundColor = [UIColor blueColor];
[self.view addSubview:blueView];

iOS提供了用于布局的平面坐标系:
左上角为坐标轴的原点。
垂直向下:y 的正方向 屏幕最上到最下可以分为480等份 (3.5寸)
水平向右:为x的正方向 最左到最右可以划分320等份。
坐标系不是以像素作为划分依据,而是以“点”作为依据。

frame

frame是view的重要属性,视图布局的关键,它决定了视图的大小和位置。
frame是一个结构体,包含两部分内容:origin和size。
origin是一个结构体,包含两部分内容:x和y。
size是一个结构体,包含两部分内容:width和height。
frame的origin和size是相对于俯视图来说的。
CGRectMake() 函数可以帮助我们快速构造一个CGRect变量。

子视图永远是以父视图来作为标准的。

Center

(中心点)也是view的重要属性
center是个结构体,包含两个部分:x和y。
center与frame,有着密切的联系。
Center.x = frame.origin.x + frame.size.width/2;
Center.y = frame.origin.y + frame.size.height/2;

bounds(边界)

Bounds也是view的重要属性,用于定义自己的边界,他同frame一样是一个CGRect结构体变量。
当一个view设置bounds时,会把自己当成一个容器,定义自己的边界大小,以及左上角的初始坐标。
当子视图添加到此视图时,会根据bounds指定的原点(0,0)计算frame,而非左上角。

坐标系始终只有一个

frame子视图的origin是相对于父视图的origin来说的。
bounds(改变的是自己的坐标系)子视图的origin 是相对于坐标的坐标系来说的。

view的三个属性bounds frame center 之间的关系

UIView 的介绍_第1张图片
C537AC2F-EE12-4A23-BD2D-7EDEDDAC21ED.png

添加视图

UIView的addSubview:方法可以添加子视图。
对于同一个视图的所有子视图来讲,后添加的子视图会把已经添加的子视图盖在下面。
UIView提供了其他添加视图的方法:

指定位置插入:insertSubview: atldex:
指定视图上插入:insertSubview: aboveSubview:
指定视图下插入:insertSubview: belowSubview:

管理视图

把指定的子视图移动到最前面:bringSubviewToFront:
把指定的子视图移动到最后面:bringSubviewToBack:
交换两个指定位置的子视图:exchangeSubviewAtIndex: withSubviewAtIndex:
把receiver从父视图上移除 : removeFromSuperview 子视图自己调用

    //把某个view放到最前面
    [self.view bringSubviewToFront:blueView];
    //把某个view放到最后面
     [self.view sendSubviewToBack:blueView];
    //  交换两个位置的view
      [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:3];
   //删除某个view
     [blueView removeFromSuperview];

子视图在父视图的上面。若是同层次的谁先被添加,谁在下面。
指定位置的就在相应的位置 ,但是后续操作会改变该视图当前的位置。
但父视图执行的调换,只能控制其子视图的

后面会有详细功能介绍。以及更多的使用方法。如果你喜欢我的文章,并且希望我继续更新,请随意打赏。

你可能感兴趣的:(UIView 的介绍)