关于CALayer的contentsGravity属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于CALayer的contentsGravity属性相关的知识,希望对你有一定的参考价值。

运行环境 Xcode 7.3

CALyer有一个 contentsGravity属性,它是用来改变图层中的内容的位置和尺寸,如下头文件所示

技术分享

技术分享

 

 

在没有给CALyer设置contentsGravity之前

技术分享

 

给CALyer设置contentsGravity之后,只要你设的值不在指定的key之内,那么默认就是"resize",运行出来是图片本身的大小,然后会与layer的位置为中心点居中显示(图片尺寸太大甚至超出屏幕之外)为了好分辨,我添加一个半透明的UIView设置Frame与testLayer相同.

技术分享

 

下面的图片是给大家演示contentsGravity每一个key的效果

 技术分享技术分享技术分享技术分享技术分享技术分享技术分享技术分享技术分享技术分享技术分享

 

 

 

 看到此处,想必大家都会想起UIView的UIViewContentMode吧,基本都是一一对应的,只是一个针对CALyer,一个针对UIView,及默认值不同等吧

技术分享

 

以上是关于关于CALayer的contentsGravity属性的主要内容,如果未能解决你的问题,请参考以下文章

关于使用 CALayer 中 mask 的一些技巧

关于CALayer的疑惑

CALayer 层未自动发布

CALayer的那些事

问题理解 CALayer 几何。需要帮助

关于CAShapeLayer