在iOS开发中,所有的控件都是继承自UIView的,可以这么说,UIView是iOS开发中最纯洁的视图控件,下面列举一些它常用属性:
frame与bounds:都指的是控件的坐标和宽高,但是,frame表示的是相对于父控件的坐标,是以父控件为参考系的,bounds则是以自身为参考系的。他们都是一个结构体CGRect,坐标原点可能不同,但宽高的值是对应相等的
layer:即图层,我们之所以能在一个控件上看到各种颜色、文字,实质上都是由这个layer决定的,layer是QuartzCore框架下的一个CALayer对象,这里不深讲,用法以后再说
transform:这是二维层面的一个形变属性(当然,CALayer下也有一个transform属性,但通常是要实现三维效果才用的),它是框架CoreGraphics下的一个结构体,原型是
struct CGAffineTransform {
CGFloat a, b, c, d;
CGFloat tx, ty;
};
当然,还有backGroundColor等等其他属性,这里不多讲,都是比较简单的;
不过有几个重要的方法要提一下,一个是layoutSubViews,这个是当设置view的frame活着frame有变化的时候都会调用的,有时候,子控件的frame我们会在这个方法里设置;还有一个是drawRect方法,这个是当我们需要绘图的时候要实现的一个方法,通过调用setNeedsDisplay来启用,
UIView暂时说到这里,其他的以后再补充