rga*_*han 5 swift uiviewpropertyanimator ios13
以前在 swift 中你可以这样做:
let animator = UIViewPropertyAnimator(duration: 0.25, curve: .easeIn) {
UIView.setAnimationRepeatCount(Float.infinity)
UIView.setAnimationRepeatAutoreverses(true)
let transform = CATransform3DIdentity
let rotate = CATransform3DRotate(transform, 45, 1, 1, 0)
self.ex.layer.transform = rotate
}
Run Code Online (Sandbox Code Playgroud)
UIView.setAnimationRepeatCount但是,现在和上有一条弃用消息UIView.setAnimationRepeatAutoreverses。有人知道他们被替换成什么了吗?我仍然可以使用UIViewPropertyAnimator,还是我必须去类似的地方CABasicAnimation?
消息是:
iOS 13.0 中已弃用“setAnimationRepeatCount”:改用基于块的动画 API
iOS 13.0 中已弃用“setAnimationRepeatAutoreverses”:改用基于块的动画 API
你可以这样做:
UIView.animate(withDuration: 0.25, delay: 0, options: [.autoreverse, .curveEaseIn, .repeat], animations: {
let transform = CATransform3DIdentity
let rotate = CATransform3DRotate(transform, 45, 1, 1, 0)
self.ex.layer.transform = rotate
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
对于所有可能的呼叫,您可以查看此链接
另外,如果你确实需要UIViewPropertyAnimator,它有一个类似的 init:
UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 0.25, delay: 0, options: [.autoreverse, .curveEaseIn, .repeat], animations: {
let transform = CATransform3DIdentity
let rotate = CATransform3DRotate(transform, 45, 1, 1, 0)
self.ex.layer.transform = rotate
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2751 次 |
| 最近记录: |