首页 > 代码库 > CALayer 学习01
CALayer 学习01
一。什么事CALayer
- 在iOS系统中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。
- 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层。
- 在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的层上,绘图完毕后,系统会将层拷贝到屏幕上,于是就完成了UIView的显示。
换句话说,UIView本身不具备显示的功能,是它内部的层才有显示功能。
二。CALayer 的简单实用
上面已经说过了,UIView之所以能够显示,完全是因为内部的CALayer对象。因此,通过操作这个CALayer对象,可以很方便地调整UIView的一些界面属性,比如:阴影、圆角大小、边框宽度和颜色等。
1> 先创建一个UIView,添加到控制器的view中
UIView* view = [UIView new]; view.backgroundColor = [UIColor grayColor]; view.frame = CGRectMake(10, 100, 100, 100); [self.view addSubview:view];
2> 设置阴影
view.layer.shadowColor = [[UIColor redColor]CGColor]; view.layer.shadowOffset = CGSizeMake(10, 10); view.layer.shadowRadius = 5; view.layer.shadowOpacity = 0.9;
* 第1行设置阴影的颜色为灰色,注意,这里使用的是UIColor的CGColor属性,是一种CGColorRef类型的数据
* 第2行设置阴影的偏移大小,可以看出阴影往原图的右下角偏移
* 第3行设置阴影的不透明度为0.5,表示半透明。如果为1,代表完全不透明。
3> 设置圆角大小
view.layer.cornerRadius = 5; view.layer.masksToBounds = YES;
4> 设置边框宽度和颜色
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3d1d81 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa } span.s1 { color: #000000 } span.s2 { color: #703daa } span.s3 { color: #6122ae } span.s4 { } span.s5 { color: #0435ff }</style>
view.layer.borderColor = [[UIColor greenColor]CGColor]; view.layer.borderWidth = 4;
5> 设置旋转
view.layer.transform = CATransform3DMakeRotation(M_PI_4, 1, 0, 1);
CALayer 学习01
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。