frame 和 bounds 的区别,origin 和 position anchorPoint,zPosition的区别?
frame 是在父类试图上的坐标;
bounds 是view本身坐标;
origin:是原点坐标,frame中以其父视图为起点;bounds即以iOS系统的坐标原点为起点(0,0);
center: 表示视图中心位置,设置此属性可以改变视图位置。
position 是view中心点在父类试图中的坐标位置,
anchorPoint 属性决定position点在层bounds中的位置,默认点是中心点(0.5,0.5);
zPosition 属性用来决定层视图的合成顺序;
如下图所示:
其中viewA的center为(225,200)
viewB的center为()
UIView 的创建
两种方式创建:xib文件和代码创建
代码: UIView *view = [[UIView alloc] initWithFrame:CGRectMake(60, 100, 100, 200)];
视图的层次
一个视图可以嵌入多个subView,但是只能有一个superView;
每个父视图都有一个有序的数组存储着它的子视图,存储的顺序影响显示效果;
子视图覆盖了父视图的内容,可以设置透明属性看到父视图的内容;
子视图添加到父视图后,原点坐标系是相对于父视图的,而不再是整个屏幕最左上角为原点了即(0,0)
view1 = [[UIView alloc] initWithFrame:CGRectMake(60, 100, 200, 100)];
view1.backgroundColor = [UIColor redColor];
view1.tag =1 ;
view1.clipsToBounds = YES;
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(50, 0, 100, 200)];
view2.backgroundColor = [UIColor grayColor];
view2.tag =2;
[self.window addSubview:view1];
[view1 addSubview:view2];
运行效果如下所示:
可以看到 灰色的子视图view2的原点坐标(50,0)是相对于 红色父视图view1的坐标系的。
ImageView 得 contentMode
引用图片时候,如何资源是.PNG格式,则后缀不用加,如果是使用其他格式得资源则需要加后缀名(如jpg等)