温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CALayer

发布时间:2020-09-01 11:12:10 来源:网络 阅读:379 作者:guoleiappleapp 栏目:开发技术

CALayer 是一个很经常使用的到的 Object,

1. 每个UIView 都有 CALayer,即 UIView.layer,同时 UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它,所以,CALayer 应用很广泛
2. CALayer 能够对 UIView 做许多设定,如:阴影、边框、圆角和透明效果等,且这些设定都是很有用的。
下面就逐个过下 CALayer 的一些重要属性:
1. shadowPath : 设置 CALayer 背景(shodow)的位置
2. shadowOffset : shadow 在 X 和 Y 轴 上延伸的方向,即 shadow 的大小
3. shadowOpacity : shadow 的透明效果
4. shadowRadius : shadow 的渐变距离,从外围开始,往里渐变 shadowRadius 距离
5. masksToBounds : 很重要的属性,可以用此属性来防止子元素大小溢出父元素,如若防止溢出,请设为 true
6. borderWidth 和 boarderColor : 边框颜色和宽度,很常用
7. bounds : 对于我来说比较难的一个属性,测了半天也没完全了解,只知道可以用来控制 UIView 的大小,但是不能控制 位置
8. opacity : UIView 的透明效果
9. cornerRadius : UIView 的圆角

测试代码
- (void)viewDidLoad
{
[super viewDidLoad];

self.qiqiu=[[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 200, 300)];
self.qiqiu.p_w_picpath=[UIImage p_w_picpathNamed:@"气球.png"];
[self.view addSubview:qiqiu];

//Test 1 阴影
//self.qiqiu.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewSample.bounds].CGPath;
self.qiqiu.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 400, 400)].CGPath;
self.qiqiu.layer.masksToBounds = NO;//不防止溢出
self.qiqiu.layer.shadowOffset = CGSizeMake(10, 10);//偏移
self.qiqiu.layer.shadowRadius = 5;
self.qiqiu.layer.shadowOpacity = 0.5;

//Test 2 边框
self.qiqiu.layer.borderWidth = 2;
self.qiqiu.layer.borderColor = [[UIColor redColor] CGColor];

//Test 3 masksToBounds
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0,0, 500, 500)];
btn.backgroundColor = [UIColor lightGrayColor];
//[self.qiqiu addSubview:btn];
//self.qiqiu.layer.masksToBounds = true;

//Test 4 bounds 
//
self.qiqiu.layer.bounds = CGRectMake(200, 200, 500, 500);

//Test 5

self.qiqiu.layer.opacity = 0.5;

self.qiqiu.layer.cornerRadius = 5;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI