UIView是iOS中非常重要的一个类,几乎所有的有关视图的操作都要依赖这个类。这里只是介绍一些这个类的皮毛。

UIView就是控制视图的类,在iOS开发中,看得到的控件都是视图,而视图就是一个矩形区域,视图的呈现由GPU去渲染。

 

iOS开发之view生成图片 ios view_iOS开发之view生成图片

 一、UIView属性

        1.frame

            frame由上图看出它是一个CGRect类型,而CGRect类型是一个结构体,它又封装了两个结构体,一个是CGSize,一个是CGPoint,前者里面有两个CGFloat类型的变量:width height,后者也有两个:x  y ,所以frame经常用来确定一个视图的位置,坐标原点在左上角,偏移量为x ,  y,视图的宽度和高度分别是 width  height。值得一提的是,frame的位置是相当于父视图的位置来确定的,也就是说偏移量是相当于父视图左上角来偏移的,视图都是一个个叠起来的,先创建的视图在下面,后创建的视图在上面,下面的视图是上面视图的父视图,上面的视图是下面视图的子视图。由于是UIView 的属性,所以说对于任何一个UIView对象,或者是其子类的对象,都可以通过点语法来访问这个属性。

       2.bounds

            bounds和frame类似,也是一个CGRect类型的变量,它也可以用来定位和确定大小,不过与frame不同的是,它是相对于自己的坐标位置,因为自己对自己的偏移量永远是0 ,所以bounds中的point的x , y都是 0 。

       3.center

          center是一个CGPoint 类的变量,因此很容易理解的就是它表示的是一个视图中中心点的坐标。

       4.backgroundcolor

         这个属性描述的是一个视图的背景颜色,这个背景颜色是  UIColor 类的一个类方法

        如图  

               

iOS开发之view生成图片 ios view_子视图_02

       5.tag

         这个属性是NSIntager类型的,默认是0,当每一个视图创建的时候,都会有一个tag。当一个界面的视图很多时,我们可以给特定的视图设置tag值,然后我们可以通过tag来寻找这个子视图,用到的方法是   - viewWithTag:  。

  二、常用的方法

         1.-addSubView:      

            这个方法用来向父视图上面添加子视图,参数是一个UIView类型的对象,也就是我们要添加的子视图。值得注意的是,这个方法是父视图来调用的,也就是说只有父视图才可以添加子视图,还有一点就是,很多时候我们创建了视图,设置了颜色之后,还是看不见我们添加的视图,那么很有可能是因为我们调用这个方法将这个子视图添加到它的父视图上面。

         2.-clipsToBounds

           当子视图的范围过大,超过了父视图而使得父视图的部分被遮盖住时,我们可以调用这个方法来将超过父视图的部分裁剪掉。这个方法也是父视图来调用。