ios - uipageviewcontroller 内的 uiwebview 阻止点击以翻页

标签 ios objective-c uiwebview uigesturerecognizer uipageviewcontroller

我在 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/

相关文章:

ios - 如何使用分发配置文件/证书测试 ios 应用程序的推送通知?

objective-c - NSArray 和快速枚举,总是按索引顺序进行?

ios - 为什么滚动 UIWebView *感觉* 与滚动任何其他 UIScrollView 如此不同?

ios - 缩放 UIWebView 内容

swift - 禁止在 UIWebView 和/或 WKWebView 中加载样式表

iOS - 用户界面在触摸后移动

ios - RestKit:如何获取一个简单的 JSON 字符串数组?

ios - 如何在 Interface Builder (Xcode) 中添加自定义控件

ios - 如何为 UIImageview 精确地设置书页动画

c++ - 等效于 C++ 中的 Objective-C 的 "valueForKey"方法?