UIView 的介绍

作者: 佟瑾年 | 来源:发表于2016-08-23 11:38 被阅读71次

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 之间的关系

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 的介绍

    view:(视图):代表屏幕上的一个矩形区域。iOS中的UIView来表示视图。UI控件都属于view ,iOS中...

  • UI_基本控件 (17-8-3)

    UIWindowUIWindow类是UIView的子类,可以看作是特殊的UIView(UIView之后介绍)。一般...

  • i0S-UIView动画(基础动画+Block动画)

    UIView基础动画 UIView基础动画Api介绍: 使用例子1: 使用例子2: UIView-Block动画 ...

  • UIView基本介绍

    UIView主要负责数据的展示,每一个应用程序至少有一个Window,User Interface Bui...

  • UIView Animation

    UIView Animations 本文主要从下面五个方面进行介绍: 普通的UIView Animations S...

  • UIView用户响应事件

    UIView用户事件响应 UIView除了负责展示内容给用户外还负责响应用户事件。本章主要介绍UIView用户交互...

  • 面试准备第五篇

    UIKit介绍 1.UIView和CALayer是什么关系? 1.1UIView继承UIResponder,而UI...

  • 动画篇----UIView动画

    一、UIView动画介绍 UIView动画实质上是对Core Animation的封装,提供简洁的动画接口。 我们...

  • UIView与CALayer介绍

    1. 首先UIView可以响应事件,Layer不可以.UIKit使用UIResponder作为响应对象,来响应系统...

  • Section I: View Animations

    在该节主要介绍 UIKit 的一些动画API,动画作用于 UIView 或者 UIView 的子类。 Chapte...

网友评论

    本文标题:UIView 的介绍

    本文链接:https://www.haomeiwen.com/subject/vbngsttx.html