【问题标题】:Swift MacOS NSAnimationContext not following its durationSwift MacOS NSAnimationContext 不遵循其持续时间
【发布时间】:2020-04-08 21:06:38
【问题描述】:

我有一个非常简单的动画,它在整个主视图中移动一个视图,如下所示:

NSAnimationContext.runAnimationGroup({ (_) in
    NSAnimationContext.current.duration = 50.0
    viewTOModify.frame.origin.x = -20
}) {
    print("finished")
}

我遇到的这个问题是运动是瞬时的,没有我设置的持续时间。感谢您的帮助。

【问题讨论】:

    标签: swift macos nsanimationcontext


    【解决方案1】:

    您可以像这样使用视图的.animator() 方法:

    NSAnimationContext.runAnimationGroup({ (_) in
        NSAnimationContext.current.duration = 50.0
        viewTOModify.animator().frame.origin.x = -20
    }) {
        print("finished")
    }
    

    如果你不想使用.animator(),你必须像这样设置.allowsImplicitAnimation

    NSAnimationContext.runAnimationGroup({ (_) in
        NSAnimationContext.current.duration = 50.0
        NSAnimationContext.current.allowsImplicitAnimation = true
        viewTOModify.frame.origin.x = -20
    }) {
        print("finished")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 2022-01-11
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多