我在 uipageviewcontroller 中有一个 uiwebview,我希望能够在 View 中选择一些文本,所以我将 userInteractionEnabled 设置为 YES,但是当我这样做时,我失去了通过点击翻页的选项,尽管滑动仍然可以正常工作。
在 UIWebview 上捕获 UITapReconizer 并将其传递给 UIPageviewController 的最佳方法是什么?
谢谢。
最佳答案
UIPageviewController
有一个 gestureRecognizers
property
我的猜测是,如果它的手势识别器和你的 - 如果你使用一个 - 不能同时行动。
你可以通过手势的方法来处理,见 question for handling multiple UITapGestureRecognizers ,要求您的 webView 点击识别器失败,以便 pageViewController 的点击成功。
像这样(未测试)
UILongPressGestureRecognizer *yourTapGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
for(UIGesture *gesture in yourPageController.gestureRecognizers){
[gesture requireGestureRecognizerToFail:yourTapGesture];
}
[pageControllerTap requireGestureRecognizerToFail:yourTapGesture];
另外,我不明白你为什么需要
userInteractionEnabled
, 是你的 UIWebView
占用所有空间?您可以将手势附加到 webView 的 super View ,并使用 locationInView:
测试 webView-hit方法。
关于ios - uipageviewcontroller 内的 uiwebview 阻止点击以翻页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754869/