如何覆盖 UIWebView 中的滑动手势?

Posted

技术标签:

【中文标题】如何覆盖 UIWebView 中的滑动手势?【英文标题】:how to override the swipe gesture in UIWebView? 【发布时间】:2012-05-13 23:22:04 【问题描述】:

所有,我是 ios 开发的新手。

我想对 UIWebView 实现向右滑动手势,它应该具有我指定的操作。但是,当网页太大导致 UIWebView 有滚动条时,我的自定义左滑动手势根本不起作用。在这种情况下,当我向右滑动时,滚动条会移动,而不是触发我指定的操作。当我向右滑动时,有什么方法可以禁用滚动条移动操作?

希望我的问题对你来说很清楚...... 提前致谢。

【问题讨论】:

【参考方案1】:

要么在 webview 上添加一个透明视图,要么创建一个 UIWebView 的子类并覆盖 touchmethods。

【讨论】:

感谢您的回复。你有关于这个主题的网页的指针吗?【参考方案2】:

您可以像这样禁用UIWebView 中的整个滚动

UIScrollView *scroll = [[webView subviews] lastObject];

if([scroll isKindOfClass:[UIScrollView class]])

    scroll = (UIScrollView*)scroll;
    [scroll setScrollEnabled:NO];

【讨论】:

以上是关于如何覆盖 UIWebView 中的滑动手势?的主要内容,如果未能解决你的问题,请参考以下文章

如何在向下滑动 UIWebView 以修复 iOS7 状态栏覆盖问题后更改 UIWebView 背景颜色?

UISwipeGestureRecognizer 垂直于 UIWebView 滚动:如何避免对角滑动?

iPhone - UIPickerView 和 UIWebView 上的手势

将向上滑动手势识别器添加到模态视图

识别 UIView 中的滑动手势以使用手势识别器滚动滚动视图

UIWebview 中的大页面并不总是对角滚动