ios - 在 Swift 中无限期地旋转 View 360 度?

标签 ios swift

我想无限期地旋转 ImageView 360 度。

UIView.animate(withDuration: 2, delay: 0, options: [.repeat], animations: {
    self.view.transform = CGAffineTransform(rotationAngle: 6.28318530717959)
}, completion: nil)

我该怎么做?

最佳答案

更新 Swift 5.x

// duration will helps to control rotation speed
 private func rotateView(targetView: UIView, duration: Double = 5) {
    UIView.animate(withDuration: duration, delay: 0.0, options: .curveLinear, animations: {
        targetView.transform = targetView.transform.rotated(by: .pi)
    }) { finished in
        self.rotateView(targetView: targetView, duration: duration)
    }
}

无限旋转 UIView 的 Swift 2.x 方法,根据早期答案编译:

// Rotate <targetView> indefinitely
private func rotateView(targetView: UIView, duration: Double = 1.0) {
    UIView.animateWithDuration(duration, delay: 0.0, options: .CurveLinear, animations: {
        targetView.transform = CGAffineTransformRotate(targetView.transform, CGFloat(M_PI))
    }) { finished in
        self.rotateView(targetView, duration: duration)
    }
}

更新 Swift 3.x

// Rotate <targetView> indefinitely
private func rotateView(targetView: UIView, duration: Double = 1.0) {
    UIView.animate(withDuration: duration, delay: 0.0, options: .curveLinear, animations: {
        targetView.transform = targetView.transform.rotated(by: CGFloat(M_PI))
    }) { finished in
        self.rotateView(targetView: targetView, duration: duration)
    }
}

关于ios - 在 Swift 中无限期地旋转 View 360 度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27755504/

相关文章:

php - 为什么 iPad 上的 AES 加密和 PHP 中的解密失败?

swift - CABasicAnimation 反向(向后)

ios - 更改assetVideoTrack的preferredTransform以解决合并视频时的镜像问题

ios - 如何使用 Safari 打开 Youtube URL,而不是 Youtube 应用程序

iphone - 设置导航栏标题字体的下一个 View ?帮助“setTitle View”到某些标签?

ios - 终止未捕获的异常 NSException - 连接到服务器后

ios - Swift 为 API REST 创建 Json

iphone - 选择注释会导致 MKMapView 缩小

json - 如何从可选的 AnyObjects 创建 SwiftyJSON 字典?

cocoa - 如何在 Swift 中为 setLineDash 制作 CGFloat 数组