我有一堆按钮,所有按钮都调用相同的功能。该功能包括按钮本身的动画。假设用户单击任何按钮并获得应该显示的内容。但是,用户可能会同时使用两根手指并触摸两个按钮(或几乎相同的时间)。在这种情况下,我看到两个按钮开始动画。如何一次只限制一个按钮来调用该功能。
答案 0 :(得分:14)
You can set exclusive touch to all buttons-
[button setExclusiveTouch:YES];
答案 1 :(得分:1)
将BOOL
值设为YES
。按第一个按钮时。
并在动画完成块中将其设置为NO
。
并检查BOOL
以调用动画方法,如果BOOL为YES,则不要调用第二个按钮的动画或删除第一个按钮的动画并调用第二个方法的动画。
@interface yourClass
{
BOOL animationStarted;
}
@end
-(IBAction)click:(id)sender
{
if(!animationStarted)
{
animationStarted = YES;
//call the animation
}
else
{
//you can do two things here
//1.Skip the second button click
//2.Remove first button animation and start second button animation
}
}
在动画完成块中:设置animationStarted = NO;