检测双击UIScrollView
如何检测UIScrollview中的双击?检测双击UIScrollView
我想:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if (touch.tapCount == 2) {
// some operations here
}
}
但这不是检测UIScrollView中双击,有没有其他的方法来检测双击?
问候
使用下面的代码进行双击。
-(void) viewDidLoad{
// other necessary operations
UITapGestureRecognizer* dTap = [[UITapGestureRecognizer alloc] initWithTarget : self action : @selector (doubleTap:)];
[doubleTap setDelaysTouchesBegan : YES];
dTap.numberOfTapsRequired = 2;
dTap.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer : dTap];
[dTap release];
}
- (void) doubleTap : (UIGestureRecognizer*) sender
{
NSLog (@"Double tap Do operations here...");
}
一切都好,但选择器名称应该doubleTap我猜... – 2012-11-06 19:37:32
是的,你是对的。这是错误的。谢谢你的纠正。 – krunal 2012-12-15 06:38:16
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSUInteger numTaps = [[touches anyObject] tapCount];
if (numTaps== 2) {
//some operations here
}
}
使用此代码
感谢Gyani回复,但scrollview没有检测到任何触摸事件....有没有其他方式来检测滚动视图中的双标签? – iscavengers 2010-10-11 10:25:05
你可以从http://iphonedevelopertips.com/user-interface/detect-single-tap-in-uiscrollview.html – Gyani 2010-10-11 10:35:34
如果你的目标3.2+,你可以尝试使用UITapGestureRecognizer
UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:yourViewController action:@selector(tapGesture:)];
tap.numberOfTapsRequired = 2;
tap.numberOfTouchesRequired = 1;
[scrollView addGestureRecognizer:tap];
[tap release];
然后你处理您的ViewController水龙头:
- (void)tapGesture:(UIGestureRecognizer*)gesture {
// Do something
}
得到一些帮助谢谢aegzorz,将尝试你的代码段... – iscavengers 2010-10-12 10:51:18
只是在发布时格式化一点。如果您将代码复制并粘贴到您的问题中并突出显示所有内容,然后单击输入框上方的011010按钮,则会正确格式化它。 – 2010-10-11 10:12:46