我已经使用UITapGestureRecognizer
很长一段时间了,当发生点击时会注意到并显示另一个视图。我正在这样初始化它:
_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:
)并显示弹出窗口。
我不太清楚这里发生了什么。
答案 0 :(得分:3)
现在我实现了所有三个委托方法(虽然它们是可选的)但它可以工作。只需返回默认值。谢谢,Dunkelstern和托马斯。
答案 1 :(得分:0)
尝试明确地将numberOfTouchesRequired和numberOfTapsRequired设置为1。 当然,您必须在View实例上调用addGestureRecognizer。