iOS 中 UIView 的 clipsTobounds 属性

来源:互联网 发布:西周知乎 编辑:程序博客网 时间:2024/05/21 07:51

今天无意中看到一个 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];}

clipsToBounds 设置为 NO 时

如果设置为 YES,


clipsToBounds 设置为 YES 时


作者:angelen
链接:http://www.jianshu.com/p/d50789913a65
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。