禁用IBAction

时间:2014-12-26 08:22:14

标签: ios xcode swift ibaction

我已经从故事板上的按钮创建了一个IBAction。单击后,我想禁用它,使其不再起作用。我怎么能这样做?

 @IBAction func b1(sender: AnyObject) {
    displayLabel(1)
}

3 个答案:

答案 0 :(得分:0)

为您的按钮创建一个插座,并在b1 func中将其enabled属性设置为false。说你的插座是" button1":

    button1.enabled = false

答案 1 :(得分:0)

@Mike Taverne关于禁用按钮是正确的。但是从行

button.enabled = false

会使按钮暗灰色。并且用户清楚地看到它不可点击或可点击。

但如果我们使用这一行:

button.userInteractionEnabled = false

然后按钮UI不会改变,用户认为它是可点击的。但相关的行动事件不会被召唤。

在这两种情况下都不会调用动作,但按钮的外观在这里很重要。

代码将假设为:

@IBAction func b1(sender: AnyObject) {
        var view = UIView()
        view = sender as UIView
        view.userInteractionEnabled = false
    }

答案 2 :(得分:0)

您将在该函数中获取senderAnyObject)的按钮实例。 您需要将其转换为UIButton,并将其userInteractionEnabledenabled属性设置为false

@IBAction func b1(sender: AnyObject)
{
    displayLabel(1)
    var button = sender as UIButton;
    button.userInteractionEnabled = false;
}

或者,你可以使用:

@IBAction func b1(sender: UIButton)
{
    displayLabel(1)
    sender.enabled = false;
}