我将回答我自己的问题,分享我对这段代码的解决方案。
如何在IOS Swift 3中以恒定速度连续旋转任何视图?
答案 0 :(得分:-1)
这是一个以恒定速度连续旋转视图的简单类。在这个例子中,1秒内完成1次完整巡视。
class Rotator
{
private static var some_view : UIView = UIView()
private static var some_timer : Timer = Timer()
class func Rotate(some_view : UIView)
{
self.some_view = some_view
some_timer.invalidate()
some_timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(rotateView), userInfo: nil, repeats: true)
}
@objc private class func rotateView()
{
UIView.animate(withDuration: 1, delay: 0, options: .curveLinear, animations: { () -> Void in
some_view.transform = some_view.transform.rotated(by: CGFloat(Double.pi))
})
}
}
用法是:
myImage = UIImageView()
Rotator.Rotate(some_view: myImage)
希望这有帮助。