gpt4 book ai didi

ios - 快速图像旋转 360 度

转载 作者:行者123 更新时间:2023-11-28 08:01:58 33 4
gpt4 key购买 nike

我正在使用 Swift 开发 iOS 应用程序,我想将图像旋转 360 度并进行运动。每轮完成后,动画应停止 2 秒。

我需要在每次旋转完成后延迟 2 秒。我怎样才能为它设置延迟?我做过图像旋转算法。

 func rotate360Degrees(_ duration: CFTimeInterval = 1.0, completionDelegate: CAAnimationDelegate? = nil) {
let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
rotateAnimation.fromValue = 0.0
rotateAnimation.toValue = CGFloat(M_PI * 2.0)
rotateAnimation.duration = duration

if let delegate: CAAnimationDelegate = completionDelegate {
rotateAnimation.delegate = delegate

}
rotateAnimation.repeatCount = Float.greatestFiniteMagnitude;

self.layer.add(rotateAnimation, forKey: nil)
}

为了延迟我试过这个:

    let deadlineTime = DispatchTime.now() + .seconds(2)
DispatchQueue.main.asyncAfter(deadline: deadlineTime, execute: {
self.imgView.rotate360Degrees()
})

它不工作。

最佳答案

非常简单。只需在体内调用你的函数,一旦旋转完成,在延迟 2 秒后调用相同的函数。每当您想停止时,只需停止将其删除即可。示例

unowned let unownedSelf = self

let deadlineTime = DispatchTime.now() + .seconds(2)
DispatchQueue.main.asyncAfter(deadline: deadlineTime, execute: {
unownedSelf.functionToCall()
})

关于ios - 快速图像旋转 360 度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408196/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com