Objective-c:如何检测视图上的双击?
Posted
技术标签:
【中文标题】Objective-c:如何检测视图上的双击?【英文标题】:Objective-c: How to detect double tap on view? 【发布时间】:2011-09-06 07:11:31 【问题描述】:我正在开发一个应用程序,其中我有多个视图控件,但我想在用户双击视图时启用它们
您可以以双击为例,但在设备中我想在双击时捕捉事件。
【问题讨论】:
【参考方案1】:您需要在要被点击的视图中添加UITapGestureRecognizer
。
像这样:
- (void)viewDidLoad
[super viewDidLoad];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapGesture.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapGesture];
[tapGesture release];
- (void)handleTapGesture:(UITapGestureRecognizer *)sender
if (sender.state == UIGestureRecognizerStateRecognized)
// handling code
【讨论】:
在存在多个手势识别器的情况下,可以通过使用:[self.view.tapGestureRecognizer requireGestureRecognizerToFail:self.doubleTapGestureRecognizer]; 别忘了把将UITapGestureRecognizer
添加到视图中,使用numberOfTapsRequired = 2
。
【讨论】:
UITapGestureRecognizer 是一个控件吗?它不在控件库中 它是一个 UIGestureRecognizer 子类。你需要用代码写出来。 我用选择器和 UIAlert 编写了这段代码,但它不起作用 - (void)viewDidLoad UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]; tapGesture.numberOfTapsRequired = 2; [点击手势释放]; 您是否使用 addGestureRecognizer: 将其添加到视图中?以上是关于Objective-c:如何检测视图上的双击?的主要内容,如果未能解决你的问题,请参考以下文章