【问题标题】:Cannot assign value to type 'String' to type 'CAMediaTimingFillMode'无法将值分配给类型 \'String\' 以键入 \'CAMediaTimingFillMode\'
【发布时间】:2023-01-24 05:21:44
【问题描述】:

继续遇到一个问题,它说“无法将值分配给类型‘字符串’以键入‘CAMEdiaTimingFillMode’undergroup.fillmode= MotionanimationFillModeToValue(Mode: .both)

XCode 建议的修复将 'group.fillMode = MotionAnimationFillModeToValue(mode: .both)' 替换为 'CAMediaTimingFillMode(rawValue: group.fillMode = MotionAnimationFillModeToValue(mode: .both)) ?? <#default value#>' 只是创建一个循环。

    public class func animate(group animations: [CAAnimation], timingFunction: CAMediaTimingFunction = .easeInOut, duration: CFTimeInterval = 0.5) -> CAAnimationGroup {
        let group = CAAnimationGroup()
        group.fillMode = MotionAnimationFillModeToValue(mode: .both)
        group.isRemovedOnCompletion = false
        group.animations = animations
        group.duration = duration
        group.timingFunction = timingFunction
        return group
    }

【问题讨论】:

    标签: swift string


    【解决方案1】:

    fillMode的类型是CAMediaTimingFillMode,一个枚举,timingFunction参数必须是CAMediaTimingFunction实例

    public class func animate(group animations: [CAAnimation],
                        timingFunction: CAMediaTimingFunction = .init(name: .easeInEaseOut),
                        duration: CFTimeInterval = 0.5) -> CAAnimationGroup {
        let group = CAAnimationGroup()
        group.fillMode = .both
        group.isRemovedOnCompletion = false
        group.animations = animations
        group.duration = duration
        group.timingFunction = timingFunction
        return group
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多