1

我已经使用 aUITapGestureRecognizer很长一段时间了,以便在点击发生时注意到并显示另一个视图。我正在像这样初始化它:

_tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showModalDetailView:)];

在 iOS 4.3 中,这确实工作得很好。在 iOS 5 中,-showModalDetailView:不再被调用。

我想知道是否还有其他人也有这个问题?

更新

我正在像这样配置识别器:

_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showModalDetailView:)];
_tapGesture.numberOfTapsRequired = 1;
_tapGesture.numberOfTouchesRequired = 1;
_tapGesture.delegate = self;
[self addGestureRecognizer:_tapGesture];

更新 2

好吧,现在变得很奇怪。一旦我通过评论禁用委托设置,代码就会再次开始工作。但是,仍在调用委托方法。但不总是。

该单元格具有左对齐的标题和右对齐的详细信息文本。当您点击详细文本时,它会按预期工作:委托方法不会被调用,并且会出现弹出窗口。当您在其他地方点击单元格时,-gestureRecognizer:shouldReceiveTouch:会调用委托方法(在本例中)并出现弹出框。

我不太明白这里发生了什么。

4

2 回答 2

3

现在我实现了所有三个委托方法(尽管它们是可选的),它可以工作了。只是返回默认值。谢谢,邓克尔斯特恩和托马斯。

于 2011-10-31T17:57:00.010 回答
0

尝试将 numberOfTouchesRequired 和 numberOfTapsRequired 显式设置为 1。当然,您必须在 View 实例上调用 addGestureRecognizer 。

于 2011-10-30T08:11:07.220 回答