UITapGestureRecognizer没有做任何事情
我有一个应用程序,显示一个文本的页面的能力,点击一个button或刷卡在视图中通过各种页面进退。 容器视图有两个附加的UISwipeGestureRecognizers,用于向左滑动并向右滑动。 没有这些手势的麻烦。 但是现在我正试图将UITapGestureRecognizer添加到另一个视图,提供类似于iBooks或Kindle应用程序的function,点击左侧返回,右侧前进。 我做的任何事情都可以让手势起火。 没有任何暗示它会被触发,即使我将手势放在最顶端的视图上并禁用其他手势。
视图控制器实现UIGestureRecognizerDelegate,但我不需要实现委托方法。 我曾尝试实施shouldReceiveTouch:没有成功。
下面是我创build并附加手势识别器的一段代码:
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)]; [self.view addGestureRecognizer:recognizer]; [recognizer release];
试试这个你添加手势识别器的视图:
view.userInteractionEnabled = YES;
你提到你已经试过这个,但是为了以防万一再次尝试。
尝试在头中使用带有<UIGestureRecognizerDelegate>
的委托,然后设置委托:
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)]; [self.view addGestureRecognizer:recognizer]; recognizer.delegate = self; [recognizer release];
然后执行这个方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { return YES; }
然后使用一个debugging器或折腾一个NSLog
到上面的方法,并tapGestureTurnPage:
看看这些方法是否被调用。
在初始化手势的位置添加此处:
recognizer.delegate = self;
并添加到“自我”类中:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; }
这使我可以在UIWebView上识别手势,并且UIWebView仍然会响应水龙头。 (我想 – 你可能不会)