美文网首页
Core Animation Advanced 学习笔记

Core Animation Advanced 学习笔记

作者: 找个地方记录点东西 | 来源:发表于2018-03-07 17:14 被阅读8次

    Core Animation 是个复合引擎,它的职责是尽可能的组合屏幕上的不同的可视内容(图层数)。

    这个内容是被分解成独立的图层,存储再一个叫做图层树的体系中。

    这个树形成了UIKit以及再iOS应用中你所见到的一切内容。

    CALayer功能: 

    阴影,圆角,带颜色的边框

    3D变换

    非矩形范围

    透明遮罩

    多级非线性动画

    CALayer Content属性

    layer.content  这个属性的类型被定义为id,意味着它可以是任何类型的对象】

    layer.contents =(__bridge id)image.CGImage;

    contentGravity 

    类似UIView中UIViewContentMode属性

    contentsScale 

    属性定义了寄宿图的像素尺寸和视图大小的比例,默认情况下它是一个值为1.0的浮点数

    如果只是单纯地想放大图层的contents图片,你可以通过使用图层的transform和affineTransform属性来达到这个目的

    self.layerView.layer.contentsScale = image.scale;

    maskToBounds

    UIView有一个叫做clipsToBounds的属性可以用来决定是否显示超出边界的内容,CALayer对应的属性叫做masksToBounds

    contentsRect 

    允许在图层边框里显示寄宿图的一个子域。这涉及到图片是如何显示和拉伸

    contentsCenter

    是一个CGRect,它定义了一个固定的边框和一个在图层上可拉伸的区域

     记住当对图层做变换的时候,比如旋转或者缩放,frame实际上代表了覆盖在图层旋转之后的整个轴对齐的矩形区域,也就是说frame的宽高可能和bounds的宽高不再一致了

    CGAffineTransform用于图层旋转,摆放或者扭曲

    CATransform3D将扁平物体转换成三维空间

    相关文章

      网友评论

          本文标题:Core Animation Advanced 学习笔记

          本文链接:https://www.haomeiwen.com/subject/zrfsfftx.html