1.一个父Layer添加一个子Layer时,如果设置了父Layer的边框属性,那么子Layer只能覆盖父Layer边框内部的部分,边框本身不会被覆盖
- (void)viewDidLoad {
self.view.backgroundColor=[UIColor lightGrayColor];
[super viewDidLoad];
//创建子layer
CALayer *layer=[CALayer layer];
layer.backgroundColor=[UIColor brownColor].CGColor;
layer.bounds=CGRectMake(0, 0, 100, 100);
layer.position=CGPointMake(100, 100);
layer.anchorPoint=CGPointMake(0, 0);
layer.borderColor=[UIColor blackColor].CGColor;
layer.borderWidth=2;
[self.view.layer addSublayer:layer];
//创建子layer1
CALayer *layer1=[CALayer layer];
layer1.backgroundColor=[UIColor whiteColor].CGColor;
layer1.bounds=CGRectMake(0, 0, 200, 200);
layer1.position=CGPointMake(50, 50);
layer1.anchorPoint=CGPointMake(0, 0);
[layer addSublayer:layer1];
}
效果图:
2.layer.masksToBounds=YES,表示layer的子图层如果超过该layer的边界范围,超出的部分将被剪切
- (void)viewDidLoad {
self.view.backgroundColor=[UIColor lightGrayColor];
[super viewDidLoad];
//创建子layer
CALayer *layer=[CALayer layer];
layer.backgroundColor=[UIColor brownColor].CGColor;
layer.bounds=CGRectMake(0, 0, 100, 100);
layer.position=CGPointMake(100, 100);
layer.anchorPoint=CGPointMake(0, 0);
layer.borderColor=[UIColor blackColor].CGColor;
layer.borderWidth=2;
layer.masksToBounds=YES;
[self.view.layer addSublayer:layer];
//创建子layer1
CALayer *layer1=[CALayer layer];
layer1.backgroundColor=[UIColor whiteColor].CGColor;
layer1.bounds=CGRectMake(0, 0, 200, 200);
layer1.position=CGPointMake(50, 50);
layer1.anchorPoint=CGPointMake(0, 0);
[layer addSublayer:layer1];
}
效果图: