view.frame = CGRectMake(CGFloat x, CGFloat y, CGFloat
width, CGFloat height)
view.bounds = CGRectMake(CGFloat x, CGFloat y,
CGFloat width, CGFloat height)
两者的共同点是后面两个参数都是设置控件的大小,区别是前两个参数,对于 frame
来说,CGFloat x、 CGFloat y
两个参数是 view
相对于父视图的位置,bounds
是 view
上面的子视图在 view
上面的起始位置。
UIView *viewA = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
[self.view addSubview:viewA];
viewA.backgroundColor = [UIColor orangeColor];
UIView *viewB = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 40, 40)];
[viewA addSubview:viewB];
viewB.backgroundColor = [UIColor grayColor];
![](https://img.haomeiwen.com/i3704739/c5903d2b992d6841.png)
修改
viewA
的 bounds
:
viewA.bounds = CGRectMake(20, 20, 100, 100);
![](https://img.haomeiwen.com/i3704739/6eac6aa1ad384884.png)
网友评论