防止同时点击视图

时间:2015-07-23 04:58:34

标签: ios swift

我有很多观点,我想要的是当我点击第一个视图时,其他视图交互将被禁用,直到任务完成。

现在,我的代码看起来像这样。

private var lock = false
@IBAction func firstViewTapped(sender: UITapGestureRecognizer) {
    if lock{
        return
    }
    lock = true
    doSomeTask{ error in
        println("finish 1!!")
        self.lock = false
    }
}
@IBAction func secondViewTapped(sender: UITapGestureRecognizer) {
    if lock{
        return
    }
    lock = true
    doSomeTask{ error in
        println("finish 2!!")
        self.lock = false
    }
}

我在想。还有另一种优雅的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用self.view.userInteractionEnabled = falseself.view.userInteractionEnabled = true来锁定和解锁它。如果您没有正确解锁视图,请注意应用可能没有响应。