禁用按钮

bar*_*ris 86 uibutton swift ios8

我想UIButton在点击后禁用iOS上的按钮().我是iOS的新手,但我认为目标上的等效代码 - C是这样的:

button.enabled = NO;
Run Code Online (Sandbox Code Playgroud)

但我不能迅速做到这一点.

Ker*_*rrM 181

NOSwift中的布尔值是false.

button.isEnabled = false
Run Code Online (Sandbox Code Playgroud)

应该这样做.

这里是雨燕文档UIControlisEnabled属性.


Dav*_*iid 36

如果您希望按钮在没有"按下"外观的情况下保持静止:

// Swift 2
editButton.userInteractionEnabled = false 

// Swift 3
editButton.isUserInteractionEnabled = false 
Run Code Online (Sandbox Code Playgroud)

记得:

1)你IBOutlet是 - >@IBOutlet weak var editButton: UIButton!

2)上面的代码进入 viewWillAppear


Kri*_*enz 10

我这样做的方式如下:

@IBAction func pressButton(sender: AnyObject) {
    var disableMyButton = sender as? UIButton
    disableMyButton.enabled = false
}
Run Code Online (Sandbox Code Playgroud)

IBAction连接到故事板中的按钮.

如果您将按钮设置为插座:

    @IBOutlet weak var myButton: UIButton!
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下命令访问已启用的属性.按钮名称上的表示法:

    myButton.enabled = false
Run Code Online (Sandbox Code Playgroud)


Dav*_*e G 7

对于那些在谷歌上搜索“禁用按钮”但可能有更细微的用例的人:

禁用视觉效果:正如其他人所说,这将防止按钮被按下,系统将自动使其看起来禁用:

yourButton.isEnabled = false 
Run Code Online (Sandbox Code Playgroud)

在没有视觉效果的情况下禁用:您是否在按钮看起来正常但行为不像按钮那样对触摸做出反应的情况下使用?尝试这个!

yourButton.userInteractionEnabled = false
Run Code Online (Sandbox Code Playgroud)

隐藏而不禁用:这种方法隐藏按钮而不禁用它(不可见但仍然可以点击):

 yourButton.alpha = 0.0
Run Code Online (Sandbox Code Playgroud)

删除:这将完全删除视图:

 yourButton.removeFromSuperView()
Run Code Online (Sandbox Code Playgroud)

点击按钮后面的东西:堆叠两个按钮,你想让顶部的按钮暂时表现得好像它不存在一样?如果您不再需要顶部按钮,请将其移除。如果您再次需要它,请尝试将其高度或宽度压缩为 0!


Gil*_*man 6

禁用Swift 3上的按钮:

yourButton.isEnabled = false
Run Code Online (Sandbox Code Playgroud)


Vik*_*Seč 5

斯威夫特 5 / 斯威夫特用户界面

现在已经是这样了。

Button(action: action) {
  Text(buttonLabel)
}
  .disabled(!isEnabled)
Run Code Online (Sandbox Code Playgroud)