UIButton无法在动画制作过程中处理触摸事件

时间:2018-05-05 16:25:15

标签: ios swift

我制作了一个自定义按钮,通过增长动画,然后不断恢复到原始状态(比例变化)。像这样:

class PulseButton: UIButton {

    private func setup() {
        _ = Timer.scheduledTimer(timeInterval: 1.6, target: self, selector: #selector(self.animateButton), userInfo: nil, repeats: true)
    }

    func grow() {
        UIView.animate(withDuration: 0.8) {
            self.transform = CGAffineTransform(scaleX: 2.5, y: 2.5)
            self.layoutIfNeeded()
        }
    }

    func shrink() {
        UIView.animate(withDuration: 0.8) {
            self.transform = CGAffineTransform(scaleX: 1, y: 1)
            self.layoutIfNeeded()
        }
    }

    @objc func animateButton() {
        grow()
        shrink()
    }
}

我的问题是按钮触摸事件在处于增长状态时不起作用,只有当它恢复到正常状态时(scaleX = 1,1)。

有没有办法让它在两个州都可以触摸?

0 个答案:

没有答案