Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 双击输入按钮_Iphone - Fatal编程技术网

Iphone 双击输入按钮

Iphone 双击输入按钮,iphone,Iphone,我以编程方式创建了一个UIButton,我想创建一个操作来处理该按钮的单点击和双点击 我的问题是如何创建这个动作,我应该为一个动作的两个事件创建单独的动作方法吗 你能为这次活动提供一个非常基本的代码吗 非常感谢。我的建议是不要这样做,因为如果你想在app store上获得它,我认为它是不可接受的UI。但是: - buttonTapTimeout { self.doubletap = NO; // do your single tap action here } - buttonHand

我以编程方式创建了一个UIButton,我想创建一个操作来处理该按钮的单点击和双点击

我的问题是如何创建这个动作,我应该为一个动作的两个事件创建单独的动作方法吗

你能为这次活动提供一个非常基本的代码吗


非常感谢。

我的建议是不要这样做,因为如果你想在app store上获得它,我认为它是不可接受的UI。但是:

- buttonTapTimeout {
  self.doubletap = NO;
  // do your single tap action here
}

- buttonHandler {
  if(self.doubleTap == NO) {
    self.doubletap = YES;
    // I'm making this up, you will have to look up the function to set a timer 
    self.tapTimer = newTimer(/*delay*/ 0.5, /*action*/ buttonTapTimeout);
  } else {
    [self.tapTimer cancel];
    self.doubleTap = NO;

    // do your doubletap action here
}

当然,在第二次点击的可接受延迟到期之前,单次点击操作无法发生。

对于计时器,可以使用-performSelector:withObject:afterDelay:和+cancel先前的performrequestswithtarget:selector:object:或类似方法。这对我很有用,托马斯。非常方便。(对于其他人,请注意,
+cancelPreviousPerformRequestsWithTarget:selector:object
是一个NSObject类方法。)