问题
在 iOS10 和 iOS11 上运行相同的代码,我的 UIViewPropertyAnimator 在更改他的.isReversed
属性后有不同的行为。
在 iOS10 上一切正常。动画问题发生在 iOS11
条件
任何动画都是如此,不仅是特定的动画,而且可以通过观看动画和代码来验证。它发生在模拟器和真实设备上。
详细
信息一旦用他的动画创建了一个 UIViewPropertyAnimator,在它运行期间我只需调用.pauseAnimation()
并将.isReversed
属性更改为true。之后我恢复动画调用:
continueAnimation(withTimingParameters parameters: UITimingCurveProvider?, durationFactor: CGFloat)
此时在 iOS10 上,动画平滑地改变了他的诗句,在 iOS11 上它立即停止并以位帧延迟反转自身。
如果在代码中我检查了.fractionComplete
(在我的 UIViewPropertyAnimator 对象上调用它会以百分比值返回动画的完成,从 0.0 开始到 1.0 结束)的值.continueAnimation(...
- 在 iOS 10 上它会保留片刻,例如 if动画仍在继续,只有在一小部分时间跳转到他的互补之后。
- 在 iOS 11 上,它突然跳到他的补充
上 在文档中没有与此相关的更新,只是 UIViewPropertyAnimator 的几个新属性但没有使用,因为我的目标是 iOS10
可能是一个错误或者我错过了什么!?
小更新:刚刚测试过,在 iOS 11.0.1 和 iOS 11.1 beta1 上的行为相同
正如评论中所链接的,这只发生在非线性曲线上!