一.Layer的基本属性

1. contents 图层内容默认为nil 可以指定一张图片作为内容展示

 self.layerView.layer.contents = (__bridge id)imag.CGImage;

2. contentsGravity 类似于contentMode的效果,

如kCAGravityCenter居中不拉伸,

kCAGravityResize,自动缩放.

3. contentsScale 内容缩放因子,默认为1,一般都设置为屏幕的缩放

contensRect:内容显示的区域

  self.layerView.layer.contentsScale = [UIScreen mainScreen].scale;

contensCenter:拉伸区域

4. masksToBounds 超出图层边界的内容是否显示 true:不显示

mask:图层轮廓,mak layer的实心部分会被保留下来

5.阴影

  //shadow
layer1.shadowOpacity = 0.5;
layer1.shadowOffset = CGSizeMake(, );
layer1.shadowRadius = ;
layer1.shadowColor = [UIColor yellowColor].CGColor;
CGMutablePathRef circlePath = CGPathCreateMutable();
CGPathAddEllipseInRect(circlePath, NULL, layer1.bounds);
//阴影路径
layer1.shadowPath = circlePath;
CFRelease(circlePath);

6.锚点 anchorPoint 默认为0.5 0.5

7.magnificationFilter(放大率过滤) 看下官方文档的解释: The circle on the left uses kCAFilterLinear and the circle on the right uses kCAFilterNearest.

aaarticlea/png;base64,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" alt=" shows the difference between linear and nearest filtering when a 10 x 10 point image of a circle is magnified by a scale of 10." width="640" height="235" />

8.光栅化   // 当shouldRasterize设成true时,开启shouldRasterize后,CALayer会被光栅化为bitmap,layer的阴影等效果也会被缓存到bitmap中,等下次使用时不会再重新去渲染了。实现圆角本身就是在做颜色混合(blending),如果每次页面出来时都blending,消耗太大,这时shouldRasterize = yes,下次就只是简单的从渲染引擎的cache里读取那张bitmap,节约系统资源

    btn2.layer.shouldRasterize = true;
btn2.layer.rasterizationScale = [UIScreen mainScreen].scale;

9.   cornerRadius 圆角 

  borderColor 边框颜色

  borderWidth 边框宽度

10layer 代理

//只有单独使用layer的时候才有可能需要实现代理绘画,如果是uiview,layer代理是其本身,

//实现drawRect方法

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;

11. geometryFlipped 图层翻转 默认为no 如果设置为yes,则子图层相对于父图层底部排版而不是顶部

12. -hitTest: 返回触摸范围内的layer 注:r如果改变了layer.zPosition 可能无法获取正确的触摸图层(无法改变触摸事件传递顺序,虽然改变zPosition使图层视觉上在某个图层之上,但这个图层其实是先于另一图层添加,则可能被另一图层遮挡)

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
CGPoint p = [[touches anyObject] locationInView:self.view];
CALayer *laer = [self.view.layer hitTest:p];
}

最新文章

  1. 使用gulp-uncss清理多余无用css
  2. 安装了VS2012 还有Update4 我的Silverlight5安装完后 我的Silverlight4项目打不开
  3. JavaScript中call,apply,bind方法的总结。
  4. 数据库字典 sql
  5. 企业信息系统——CRM
  6. Hadoop及其相关组件简介
  7. json数据处理技巧(字段带空格、增加字段)
  8. windows 下 文件属性及目录列表操作
  9. Android数据存储方式之SharedPreferences
  10. extjs类的生命周期
  11. I have a dream
  12. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
  13. Android应用开发基本流程及测试运行
  14. 【原创翻译】认识MVC设计模式:web应用开发的基础(实际编码篇)
  15. Ransom Note(383)
  16. JAVA基础面试(二)
  17. Nginx:413 Request Entity Too Large解决
  18. 第一个Angular2的样例
  19. CentOS 7下Samba服务安装与配置详解
  20. winform复制文件到指定目录

热门文章

  1. bean名称相同冲突Annotation-specified bean name &#39;xx&#39; for bean class [xxx] conflicts with existing, non-compatible bean definition of same name and class[xxx]
  2. 善用mysql中的FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数
  3. Redis慢日志查询
  4. 持久化机器学习模型(joblib方式)
  5. 【解决篇】映美FP-530K+打印发票卡纸,色带安装问题
  6. oracle导入及导出dmp文件
  7. [LeetCode] 340. Longest Substring with At Most K Distinct Characters 最多有K个不同字符的最长子串
  8. 【Python学习之七】类和对象
  9. Kubernetes 配置管理 Dashboard(十三)
  10. vue-cli3 中console.log报错