Views的主要作用:
-
子视图的排版和管理
-
绘图和动画Drawing and animation
-
处理触摸事件Event handling
创建和配置视图
1.通常创建一个nib文件来保存某个视图控制器的整个视图层次,nib文件的根视图表示视图控制器的视图
2.视图的默认初始化方法为initWithFrame,指定了视图的大小和在父视图中的位置。
3.视图必须要添加到window中才能显示,或者添加为某个window中的视图的子视图
CGRect viewRect = CGRectMake(0, 0, 100, 100);
UIView* myView = [[UIView alloc] initWithFrame:viewRect];
设置视图的属性
alpha,hidden,opaque 前两者直接改变视图的透明度,opaque告诉系统视图是否透明
bounds,center,frame,transform 这些属性影响视图的大小和位置,bounds定义了在视图自身坐标系中的可视化区域。transform用来实现旋转和缩放
当transform不是identity transform时,
frame无效
.
autoresizingMask,autoresizesSubviews 第一个属性定义视图如何根据父视图的bounds改变自身大小位置,第二个属性指定是否需要改变子视图
gestureRecognizers, userInteractionEnabled, multipleTouchEnabled, exclusiveTouch
第一个属性表示添加到当前视图的gesture recognizer
第二个属性表示视图是否要响应事件,如果设置为no,则用户事件被丢弃
第三个属性如果设置为no,则视图只响应多触摸事件序列的第一个事件,此时window中的其他视图仍然可以响应事件
第四个属性如果设置为yes,视图阻止触摸事件传递给其他的视图
contentMode, contentStretch, contentScaleFactor
前两个属性用于指定视图内容如何根据视图的大小改变而改变。
typedef enum {
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw,
UIViewContentModeCenter,
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
} UIViewContentMode;
第一个属性用来改变视图的背景色
第二个属性而只读的数组,包含了已添加到视图的子视图