防止同时按下按钮

时间:2013-04-14 03:52:38

标签: ios uibutton

这是一个简单的问题,但解决起来很棘手。

我有两个执行相同功能的按钮。

我为按钮设置了不同的触摸事件。虽然这有帮助,但仍然可以同时按下它们。在缓慢的连接上,它会更容易。

[vote1Btn addTarget:self action:@selector(voteUp:) forControlEvents:UIControlEventTouchUpInside];
[vote2Btn addTarget:self action:@selector(voteUp:) forControlEvents:UIControlEventTouchDown];

2 个答案:

答案 0 :(得分:24)

将两个按钮的exclusiveTouch属性设置为YES。

如果这还不够,请让每个按钮在其操作开始时调用共享应用程序对象的beginIgnoringInteractionEvents,并在其操作结束时调用endIgnoringInteractionEvents

答案 1 :(得分:0)

for(UIView* v in self.view.subviews)
{
    if([v isKindOfClass:[UIButton class]])
    {
        UIButton* btn = (UIButton*)v;
        [yourButton setExclusiveTouch:YES];
    }
}

这会有效!