iOS 中 UIView 的 clipsTobounds 属性

今天无意中看到一个 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];
}
iOS 中 UIView 的 clipsTobounds 属性_第1张图片
clipsToBounds 设置为 NO 时

如果设置为 YES,


clipsToBounds 设置为 YES 时

你可能感兴趣的:(iOS 中 UIView 的 clipsTobounds 属性)