快速扩展中如何使用枚举

时间:2019-03-23 21:49:46

标签: swift enums calayer

如何在带有扩展名的CALayer中添加某种类型的CAMediaTimingFunction

extension CALayer{
        enum easings {
           case easeIn01
           case easeOut01
        }


        var ease: easings{
           switch self.ease {
           case .easeIn01:
             return (CAMediaTimingFunction(controlPoints: 0.47, 0, 0.745, 0.715))
           case .easeOut01:
              return (CAMediaTimingFunction(controlPoints: 0.39, 0.575, 0.565, 1))
           }
        }
    }

1 个答案:

答案 0 :(得分:1)

我假设您要为恒定计时功能创建“快捷方式”。

extension CALayer {
    enum Easings {
        case easeIn01
        case easeOut01

        var timing: CAMediaTimingFunction {
            switch self {
            case .easeIn01:
                return CAMediaTimingFunction(controlPoints: 0.47, 0, 0.745, 0.715)
            case .easeOut01:
                return CAMediaTimingFunction(controlPoints: 0.39, 0.575, 0.565, 1)
            }
        }
    }
}

/// To get easing
CALayer.Easings.easeIn01

/// To get timing function
CALayer.Easings.easeIn01.timing