我正在构建一个计算器应用程序,当我点击按钮时,会有一个简短的动画。问题在于按钮在进行动画处理时没有响应,这会使应用程序感到迟钝。

我使用以下方法找到了一些Objective-C解决方案:

UIViewAnimationOptionAllowUserInteraction


但是对于Swift 3没有任何帮助,我的代码如下所示:

func myButton () {

    sender.layer.backgroundColor = firstColor
    sender.setTitleColor(UIColor.white, for: UIControlState.normal)

    UIView.animate(withDuration: 0.5) {
        sender.layer.backgroundColor = secondColor
    }
}

最佳答案

调用不同的UIView方法:

func myButton () {
    sender.layer.backgroundColor = firstColor
    sender.setTitleColor(UIColor.white, for: UIControlState.normal)

    UIView.animate(withDuration: 0.5,
                   delay: 0.0,
                   options: .allowUserInteraction,
                   animations: {
                       sender.layer.backgroundColor = secondColor },
                   completion: nil)
}

关于ios - UIButton在动画期间没有响应-iOS Swift 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45071190/

10-14 23:07