ios - 想要制作我可以在制作动画时按下的旋转按钮

标签 ios xcode swift

我制作了一个旋转按钮。但是当按钮旋转时我无法按下它。所以问题是我怎样才能让它“可按”? 我的动画代码是:

  var max: Bool = true

  func startAnimation() {

    max = !max
    let duration: Double = 1
    let fullCircle = 2 * M_PI


    let upOrDown = (max ? CGFloat(-1 / 16 * fullCircle) : CGFloat(1 / 16 * fullCircle))
    let scale: (CGFloat, CGFloat) = (max ? (1.0, 1.0) : (1.3, 1.3))

    UIView.animateWithDuration(duration, animations: { () -> Void in

      let rotationAnimation = CGAffineTransformMakeRotation(upOrDown)
      let scaleAnimation = CGAffineTransformMakeScale(scale)
      self.startButton.transform = CGAffineTransformConcat(rotationAnimation, scaleAnimation)

      }) { (finished) -> Void in
        self.startAnimation()
    }

因此,如果我按下按钮,则不会发生任何效果。按钮文本动画内没有文本 - 什么都没有!但按钮保持旋转并且不执行到其他场景的切换。但如果它不是动画我可以做segue。

最佳答案

使用动画选项 UIViewAnimationOptionAllowUserInteraction。

UIView.animateWithDuration(duration, delay:, options: UIViewAnimationOptions.AllowUserInteraction, animations: , completion: )

关于ios - 想要制作我可以在制作动画时按下的旋转按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32691632/

相关文章:

objective-c - 停止 UIView 动画

ios - Photos Framework 创建的相册中图像的 iCloud 同步

ios - 保持 NSUserActivity 向后兼容 Xcode 9

ios - 为什么每次更改单元格对应的对象的值时都会调用我的 `configureCell:` 方法? (但我不保存它。)

xcode - Coredata NSFetchRequest DictionaryResultType 空属性 Swift

ios - 如何使用步进 slider 在 slider 拇指上添加 UILabel?

swift - 使用 ActionSheet 中的 Collection View 显示照片

swift - 开关盒支架

ios - UIButton 没有在 ios7 上注册

ios - 如何在核心数据中找到属性的索引