4

我正在尝试设计一个应用程序的界面,我只想让用户按一次 UIButton 来获得结果。有什么办法可以在按下按钮后锁定按钮?并且仅在按下另一个按钮时才释放锁定?

谢谢

4

5 回答 5

10

您可以将按钮设置为在单击后禁用:

- (IBAction)clicked:(id)sender {
    //See all buttons enabled
    //Try a loop or manually

    ((UIButton *)sender).enabled = NO;
}
于 2012-09-06T13:57:48.210 回答
2

当然可以。只需使用enabledUIButton 的属性。当用户按下它时,将启用设置为 NO: [myButton setEnabled:NO];,并YES在以后需要再次启用时设置。

于 2012-09-06T13:56:39.120 回答
2

这是 James Paolantonio 对 Swift 4 的回答的更新版本

@IBAction func clicked(_ sender: Any) {
    //See all buttons enabled
    //Try a loop or manually
    (sender as? UIButton)?.isEnabled = false
}
于 2017-06-27T16:14:21.487 回答
1

只需在调用按钮的选择器方法时禁用 Uibutton。如 [aButton setEnabled:False];,当用户点击另一个按钮时,重新启用第一个按钮并禁用第二个按钮,如 [bButton setEnabled:False] 和 [aButton setEnabled:True],

希望能帮助到你。

于 2012-09-06T13:57:39.500 回答
0

您需要参考第一个按下的按钮。在下一次按下时,您可以启用旧按钮并禁用新按钮

Button *disabledButton;
- (IBAction)clicked:(id)sender {        
   if (disabledButton)
     disabledButton.enabled = YES;

   disabledButton = ((UIButton *)sender);
   disabledButton.enabled = NO;
 }
于 2012-09-06T14:10:22.443 回答