美文网首页
iOS 动起来

iOS 动起来

作者: 孙健会员 | 来源:发表于2017-05-02 13:55 被阅读14次

    CALayer

    UIView和CALayer之间的关系

    UIView和CALayer之间的关系.png

    CALayer

    属性 说明 是否支持隐式动画
    anchorPoint 和中心点position重合的一个点,称为“锚点”,锚点的描述是相对于x、y位置比例而言的默认在图像中心点(0.5、0.5)的位置
    backgroundColor 图层背景颜色
    borderColor 边框款颜色
    borderWidth 边框宽度
    bounds 图层大小
    contents 图层显示的内容,例如可以将图片座位图层的内容
    contentsRect 图层显示内容的大小和位置
    cornerRadius 圆角半径
    doubleSided 图层背面是否显示,默认为YES
    frame 图层大小和位置,不支持隐式动画,所以CALayer中很少使用frame,通常使用bounds和position代替
    hidden 是否隐藏
    mask 图层蒙版
    maskToBounds 子图层是否剪切图层边界,默认为NO
    opacity 透明度,类似于UIView的alpha
    position 图层中心点位置,类似元UIView的center
    shadowColor 阴影颜色
    shadowOffset 阴影偏移量
    shadowOpacity 阴影透明度,注意默认为0,如果设置阴影必须设置次属性
    shadowPath 阴影形状
    shadowRadius 阴影模糊半径
    sublayers 子图层
    sublayerTransform 子图层形变
    transform 图层形变
    • 隐式属性动画的本质是这些属性的变动默认隐含了CABasicAnimation动画实现
    • anchorPoint属性是图层的锚点,范围在(01,01)表示在x、y轴的比例,这个点永远可以同position(中心点)重合,当图层中心点固定后,调整anchorPoint即可达到调整图层显示位置的作用(因为它永远和position重合)

    CALayer绘图

    1.通过图层代理drawLayer:inContext:方法绘制
    2.通过自定义图层drawInContext:方法绘制

    Core Animation

    Core Animation.png

    CAAnimation:核心动画的基础类,不能直接使用,负责动画的运行时间、速度控制,本身实现了CAMediaTiming协议

    CAPropertyAnimation:属性动画的基类(通过属性进行动画设置,注意是可动画属性),不能直接使用

    CAAnimationGroup:动画组,动画组是一种组合模式设计,可以通过动画组来进行所有动画行为的统一控制,组中国年所有动画效果可以并发执行

    CATransition:转场动画,主要通过滤镜进行动画效果设置

    CABasicAnimation:基础动画,通过属性修改进行动画参数控制,只用初始状态和结束状态

    CAKeyframeAnimation:关键帧动画,同样是通过属性修改进行动画参数控制,但是同基础动画不同的是它可以有多个状态控制

    相关文章

      网友评论

          本文标题:iOS 动起来

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