ios - UILongPressGestureRecognizer 将触摸传递给 UIWebView

标签 ios objective-c uiwebview uigesturerecognizer

我添加了 UILongPressGestureRecognizerUIWebView :

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTouch:)];
longPress.delegate = self;
longPress.minimumPressDuration = 0.5;
longPress.cancelsTouchesInView = YES;

[_webView addGestureRecognizer:longPress];
cancelsTouchesInView设置为 YES , 但在长按超链接触摸后传递到 UIWebViewUIWebView单击此超链接并加载其他页面。

如何禁用对 UIWebView 的触摸长按后?

最佳答案

您可以使用下面的代码来防止 webview 内容中的触摸链接 -

@property (assign, nonatomic) BOOL allowLoad;

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
    return allowLoad;
}

- (void)webViewDidFinishLoad:(UIWebView*)webView {
    allowLoad = NO;
}

不要忘记设置委托(delegate) [self.webView setDelegate:self];
希望这会对你有所帮助

关于ios - UILongPressGestureRecognizer 将触摸传递给 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30591344/

相关文章:

ios - Xcode 8 Storyboard错误

ios - 从其他 VC 加载 webview URL

iphone: 在 UIWebView 中弹出按钮

objective-c - 设置应用程序首次运行时的默认位置

ios - 操作无法完成。 ( cocoa 错误 133021。)+ swift 2

ios - 我可以将使用 ARC 的静态库链接到面向 iOS 3.2 的项目吗?

iphone - 如何使用 MPMediaPickerController 获取 mp3 的 NSData?

IOS 字符串问题。一个工作,一个不工作,是什么给了?

ios - UITableViewCell 框架仅在滚动后更新

ios - cocoa touch 中的简单富 TextView