美文网首页
Core Animation 核心动画 (1)

Core Animation 核心动画 (1)

作者: CoderChou | 来源:发表于2017-11-03 11:30 被阅读9次

    Core Animation

    简介:由Layer Kit 演变而来,不仅仅用来做动画。

    UIView 与 CALayer 异同

    同:都可以管理矩形块,管理子图层,做一些动画和变换。
    异:UIVIew可以处理用户的交互,CALayer并不清楚响应链。

    CALayer可以实现功能

    • 阴影,圆角,带颜色边框
    • 3D变幻
    • 非矩形范围
    • 透明遮罩
    • 多级非线性动画

    CALayer基本属性

    contents 类型 id

        // 你可以这样使用
        layer.contents = (__bridge id)[UIImage imageNamed:@"png"].CGImage;
    

    contentGravity 类型 NSString

       //kCAGravityCenter
       //kCAGravityTop
       layer.contentGravity = kCAGravityResizeAspect
    

    contentsScale 类型 CGFloat

    //注意 必须手动设置 图层 contentScale 属性 否则 Retina 显示有问题
    layer.contentsScale = [UIScreen mainScreen].scale;
    

    maskToBunds

    //与UIView的clipsToBounds 类似
    layer.maskToBounds = YES;
    

    CALayer方法

    //fromeLayer 该像素点本身的父图层 
    - (CGPoint)convertPoint:(CGPoint)point fromLayer:(CALayer *)layer;
    //toLayer 目标图层
    - (CGPoint)convertPoint:(CGPoint)point toLayer:(CALayer *)layer;
    - (CGRect)convertRect:(CGRect)rect fromLayer:(CALayer *)layer;
    - (CGRect)convertRect:(CGRect)rect toLayer:(CALayer *)layer;
    /**与下面方法类似*/
    - (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view;
    - (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;
    - (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;
    - (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;
    

    相关文章

      网友评论

          本文标题:Core Animation 核心动画 (1)

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