今天无意中看到一个 UIView 的
clipsToBounds
属性,目测开发时候很经常见到,究竟有什么卵用呢?
查了一下:clipsToBounds
决定了子视图的显示范围。
具体的说,就是当它取值为 YES 时,剪裁超出父视图范围的子视图部分;当它取值为 NO 时,不剪裁子视图。
默认值为 NO,但是在 UIScrollView 中,它的默认值是 YES,也就是说默认裁剪的。
举个栗子:
下图中的橙色 view 是灰色 view 的子 view,父 view(灰色 view)的 clipsToBounds
设置为 NO 时,
- (void)viewDidLoad {
[super viewDidLoad];
UIView *superView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
superView.backgroundColor = [UIColor grayColor];
superView.clipsToBounds = NO;
[self.view addSubview:superView];
UIView *subview = [[UIView alloc] initWithFrame:CGRectMake(70, 70, 200, 200)];
subview.backgroundColor = [UIColor orangeColor];
[superView addSubview:subview];
}
如果设置为 YES,