maskToBounds == > 超出的范围切除.
(99.999%的情况,都是用在UIView 切圆角)
但它仅仅只是针对自己内部的子视图.
对于自己的父视图,则无能为力.
- (void)viewDidLoad {
[super viewDidLoad];
UIView *parentView = [[UIView alloc] init];
parentView.backgroundColor = [UIColor orangeColor];
parentView.frame = CGRectMake(0, 0, 300, 300);
[self.view addSubview:parentView];
UIView *childrenView = [[UIView alloc] init];
childrenView.backgroundColor = [UIColor colorWithRed:0.80784 green:0.23529 blue:0.89020 alpha:1.00000];
[parentView addSubview:childrenView];
childrenView.frame = CGRectMake(20, 20, 200, 200);
childrenView.layer.cornerRadius = 100;
childrenView.layer.masksToBounds = YES;
}
15269043210918.jpg
为什么要理解这个以及最常用的使用场景
15269044241990.jpg让父视图就搞阴影,然子视图去切圆角!这样父视图提供四边的阴影,子视图提供圆角。完美!
父视图(同一个视图)如果弄了阴影,又切圆角,就把阴影切掉了!
所以,同一个视图是无法完成阴影 & 圆角的操作的。必须搭配两个视图来使用。
网友评论