我在 UIButton 上有一个双击手势。对于未选择和选择的状态,我有两个不同的背景图像。
所有功能都有效,但是当我触摸按钮时,更改所选状态的背景图像会有延迟。
如果我摆脱双击手势,就没有延迟。
我怎样才能摆脱这种延迟并仍然保持双击手势?
我在 UIButton 上有一个双击手势。对于未选择和选择的状态,我有两个不同的背景图像。
所有功能都有效,但是当我触摸按钮时,更改所选状态的背景图像会有延迟。
如果我摆脱双击手势,就没有延迟。
我怎样才能摆脱这种延迟并仍然保持双击手势?
猜测一下,它会一直等到可以确定您没有双击,然后才能识别按钮想要的单击。可能有一些内置的东西UIView
可以帮助手势识别器消除歧义,并且UIButton
正在使用识别器来完成它的工作。
UIControl
考虑到这一点,您是否考虑过基于现有标注合成双击?因此,例如,您将拥有:
- (IBAction)buttonWasTapped:(id)sender // wired up to the button
{
NSTimeInterval timeNow = [NSDate timeIntervalSinceReferenceDate];
NSTimeInterval difference = timeNow - timeThen;
timeThen = timeNow; // an instance variable
if(difference < kYourAllowedTimeBetweenTaps)
{
timeThen = 0.0; // to avoid capture of triple taps, etc
[self buttonWasDoubleTapped:sender];
return;
}
// do normal single tap processing here, if any
}