首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用IBAction

禁用IBAction
EN

Stack Overflow用户
提问于 2014-12-26 08:22:13
回答 3查看 2.5K关注 0票数 0

我从故事板上的一个按钮创建了一个IBAction。点击它之后,我想禁用它,这样它就不再有功能了。我该怎么做?

代码语言:javascript
复制
 @IBAction func b1(sender: AnyObject) {
    displayLabel(1)
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-26 08:28:29

为按钮创建一个出口,并在b1功能中将其启用属性设置为false。如果你的出口是"button1":

代码语言:javascript
复制
    button1.enabled = false
票数 0
EN

Stack Overflow用户

发布于 2014-12-26 08:35:25

@Mike关于禁用按钮的说法是正确的。但从线上看

代码语言:javascript
复制
button.enabled = false

会让按钮变黑。用户可以清楚地看到它是不可点击的或不可点击的。

但如果我们用这句话:

代码语言:javascript
复制
button.userInteractionEnabled = false

然后按钮用户界面不会改变,用户认为它是可点击的。但是相关的动作事件不会被调用。

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

代码应该如下所示:

代码语言:javascript
复制
@IBAction func b1(sender: AnyObject) {
        var view = UIView()
        view = sender as UIView
        view.userInteractionEnabled = false
    }
票数 0
EN

Stack Overflow用户

发布于 2014-12-26 08:41:27

您将以sender (AnyObject)的形式获得该函数中的按钮实例。您需要将其转换为UIButton,并将它的userInteractionEnabledenabled属性设置为false

代码语言:javascript
复制
@IBAction func b1(sender: AnyObject)
{
    displayLabel(1)
    var button = sender as UIButton;
    button.userInteractionEnabled = false;
}

或者,您也可以使用以下方法来完成:

代码语言:javascript
复制
@IBAction func b1(sender: UIButton)
{
    displayLabel(1)
    sender.enabled = false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27654640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档