如何在swift中创建旋转轮/图像?

时间:2016-03-30 20:50:40

标签: xcode swift

我是初学者应用开发者。我想制作一个带有旋转/旋转轮的应用程序,就像琐事裂缝中的一个。我的想法是使用UIImage来保存一个轮子的图像。当用户点击图像时,我想让图像旋转。这对我来说并不难,但对我来说困难的部分是让车轮旋转到车轮上的某个类别。你们有什么想法我应该这样做吗?我认为我可以使用度和角度,但我不知道如何使用swift中的度数。 我希望你们中的一些人可以帮助我!

3 个答案:

答案 0 :(得分:1)

如果您想旋转滚轮的图像。使用使用图像transform属性的示例代码并将其旋转180度。

 UIView.animateWithDuration(2.0, animations: {
      self.wheel.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
 })

答案 1 :(得分:1)

您可以使用NSTimer旋转滚轮。当你点击图像时,它会触发计时器开始旋转它,

timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "rotateWheel", userInfo: nil, repeats: true)

func rotateWheel() {
    //set your angle here
    self.wheel.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
}

当你想要停止旋转车轮时。你可以在下面打电话,

timer.invalidate()

答案 2 :(得分:1)

之前我做过非常相似的工作。即使它不在self["gifts"],我相信你也不会难以尝试。

swift

您可以根据需要设置CABasicAnimation *animation = (CABasicAnimation *)[view.layer animationForKey:@"rotationAnimation"]; NSNumber *toValue = [NSNumber numberWithFloat: (M_PI * 2 * round) + [animation.toValue floatValue]]; CGFloat duration = round / speed; CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationAnimation.fromValue = animation.toValue; rotationAnimation.toValue = toValue; rotationAnimation.duration = duration; rotationAnimation.cumulative = YES; rotationAnimation.autoreverses = NO; rotationAnimation.removedOnCompletion = NO; rotationAnimation.fillMode = kCAFillModeForwards; rotationAnimation.additive = YES; rotationAnimation.repeatCount = 1; [view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"]; 以停止旋转。