IOS CALayer 详解
来源:互联网 发布:wifi网络测速 编辑:程序博客网 时间:2024/05/22 01:34
CALayer 是一个很经常使用的到的 Object,很常用,也很重要,同时又有比较多的属性,嗯,一定要详细了解下
CALayer 的原理很难懂,由于我目前只注重运用,所以就说那些在实际开发中能用到的一些地方
下面先推荐两篇文章: 文章 1:原理介绍的比较详细; 2:官方文章
为什么说 CALayer 很重要呢:
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]; UIView *viewSample = [[UIView alloc] init]; [self.view addSubview:viewSample]; viewSample.backgroundColor = [UIColor greenColor]; viewSample.frame = CGRectMake(100, 100, 400, 400); //Test 1 阴影 //viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewSample.bounds].CGPath; viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 400, 400)].CGPath; viewSample.layer.masksToBounds = NO; viewSample.layer.shadowOffset = CGSizeMake(10, 10); viewSample.layer.shadowRadius = 5; viewSample.layer.shadowOpacity = 0.5; //Test 2 边框 viewSample.layer.borderWidth = 2; viewSample.layer.borderColor = [[UIColor redColor] CGColor]; //Test 3 masksToBounds UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0,0, 500, 500)]; btn.backgroundColor = [UIColor lightGrayColor]; //[viewSample addSubview:btn]; //viewSample.layer.masksToBounds = true; //Test 4 bounds //viewSample.layer.bounds = CGRectMake(200, 200, 500, 500); //Test 5 viewSample.layer.opacity = 0.5; viewSample.layer.cornerRadius = 5;}
本文禁止任何网站转载,严厉谴责那些蛀虫们。
本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章
本文首发地址:IOS CALayer 详解
本文首发于,博客园,请搜索:博客园 - 寻自己,查看原版文章
本文首发地址:IOS CALayer 详解
但是在有视图动画效果时添加calayer会很卡,建议一般加上layer的shadowPath很重要
- IOS CALayer 详解
- iOS CALayer 详解
- IOS CALayer 详解
- iOS CALayer 详解
- IOS CALayer 详解
- IOS 之 CALayer详解
- IOS CALayer详解
- IOS CALayer 详解
- IOS CALayer 详解
- iOS CALayer详解,动画详解。
- IOS 之 CAlayer的一些属性详解
- IOS SDK详解之CALayer(一)
- IOS SDK详解之CALayer(二)
- IOS SDK详解之CALayer(一)
- IOS SDK详解之CALayer(二)
- iOS之CALayer核心动画详解
- iOS 开发 UIView和CALayer详解
- iOS: CALayer
- 【JAVA IO】_合并流笔记
- ipad2平刷5.x.x很多机子需要4.3.x.shsh
- 一款Jquery实现非常实用的返回浏览器顶部特效
- 在Linux操作系统中安装DB2、WAS集群、Oracle
- fatal error LNK1169: 找到一个或多个多重定义的符号[转]
- IOS CALayer 详解
- Cocos2d-x字体图文对照
- Ogre引擎源码——内存管理 .
- Struts2中的OGNL详解
- 红黑树
- 设备上下文的初级讨论(HDC--Handle of Device Context)
- 缔造互联网的真正功臣
- 开篇
- I an back!!