【发布时间】:2012-09-06 13:51:40
【问题描述】:
我正在尝试设计一个应用程序的界面,我只想让用户按一次 UIButton 来获得结果。有什么办法可以在按下按钮后锁定按钮?并且只有在按下另一个按钮时才解除锁定?
谢谢
【问题讨论】:
我正在尝试设计一个应用程序的界面,我只想让用户按一次 UIButton 来获得结果。有什么办法可以在按下按钮后锁定按钮?并且只有在按下另一个按钮时才解除锁定?
谢谢
【问题讨论】:
您可以将按钮设置为单击后禁用:
- (IBAction)clicked:(id)sender {
//See all buttons enabled
//Try a loop or manually
((UIButton *)sender).enabled = NO;
}
【讨论】:
当然可以。只需使用 UIButton 的属性enabled。当用户按下它时,将启用设置为NO:[myButton setEnabled:NO];,稍后需要再次启用时设置YES。
【讨论】:
这是 James Paolantonio 对 Swift 4 的回答的更新版本
@IBAction func clicked(_ sender: Any) {
//See all buttons enabled
//Try a loop or manually
(sender as? UIButton)?.isEnabled = false
}
【讨论】:
只需在调用按钮的选择器方法时禁用 Uibutton。 如 [aButton setEnabled:False];,当用户点击另一个按钮时,重新启用第一个按钮并禁用第二个按钮,如 [bButton setEnabled:False] 和 [aButton setEnabled:True],
希望对你有帮助。
【讨论】:
您需要参考第一个按下的按钮.. 在下一次按下时,您可以启用旧按钮并禁用新按钮
Button *disabledButton;
- (IBAction)clicked:(id)sender {
if (disabledButton)
disabledButton.enabled = YES;
disabledButton = ((UIButton *)sender);
disabledButton.enabled = NO;
}
【讨论】: