如何停止多个 UIButton 按下?

Posted

技术标签:

【中文标题】如何停止多个 UIButton 按下?【英文标题】:How do I stop multiple UIButton pressing? 【发布时间】:2010-08-26 15:46:18 【问题描述】:

假设我有一个UIView,然后我添加了 2 个UIButtons。

我发现我可以将一根手指放在一个按钮上,然后,按住第一个按钮,我可以用另一根手指触摸第二个按钮。两个按钮都会显示它们的UIControlStateHighlighted 图像。

有没有办法停止第二次触摸工作?我以为multipleTouchEnabled = NO 是答案,但似乎不是!

有什么想法吗?

【问题讨论】:

【参考方案1】:

使用 UIButton 的一个名为 exclusiveTouch 的属性

【讨论】:

我不认为该属性是为此目的而设计的。我改用这种方法:***.com/a/32267367/2359049【参考方案2】:
-(IBAction)button1Pressed 
    button2.enabled = NO;

-(IBAction)button2Pressed 
    button1.enabled = NO;

用于触地。

然后进行内部修饰和外部修饰。

-(IBAction)button1Lifted 
    button2.enabled = YES;

-(IBAction)button1Lifted 
    button2.enabled = YES;

【讨论】:

【参考方案3】:

当您点击第一个按钮时,在 Button 的 IBAction 方法中,禁用第二个按钮的用户交互。(在第一行) 并在第一个按钮 IBAction 代码的最后一行,启用第二个按钮用户交互。(在最后一行)。将 IBAction 设置为 touchDown。

反之亦然。

【讨论】:

【参考方案4】:

将此属性添加到每个按钮\n button.exclusiveTouch=YES;

【讨论】:

以上是关于如何停止多个 UIButton 按下?的主要内容,如果未能解决你的问题,请参考以下文章

UIButton 动作

如何更改 UIButton 标题?

如何根据按下的 UIButton 重新填充表格视图?

用户单击时如何禁用 UIButton 的突出显示

除了播放按钮外,重复(循环)UIButton

多个uibutton在目标c中执行相同的功能