【问题标题】:Only allow users to press UIButton once只允许用户按一次 UIButton
【发布时间】:2012-09-06 13:51:40
【问题描述】:

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

谢谢

【问题讨论】:

标签: iphone ios xcode ipad


【解决方案1】:

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

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

    ((UIButton *)sender).enabled = NO;
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      @IBAction func clicked(_ sender: Any) {
          //See all buttons enabled
          //Try a loop or manually
          (sender as? UIButton)?.isEnabled = false
      }
      

      【讨论】:

        【解决方案4】:

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

        希望对你有帮助。

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            猜你喜欢
            • 2017-02-26
            • 1970-01-01
            • 2013-05-18
            • 2014-02-11
            • 2019-11-19
            • 1970-01-01
            • 2019-10-06
            • 2015-07-14
            • 1970-01-01
            相关资源
            最近更新 更多