【问题标题】:How to replace SwipeGestureRecognizer action in a UIWebView如何替换 UIWebView 中的 SwipeGestureRecognizer 操作
【发布时间】:2012-05-16 11:55:06
【问题描述】:

我正在尝试在一组 5 个 UIWebView 中呈现本地 html5 内容。 这个想法是用户会滑动到 4 个方向,所以我得到了 5 个 UIWebViews 并禁用了弹跳:

leftWebView.scrollView.bounces = NO;
middleWebView.scrollView.bounces = NO;
rightWebView.scrollView.bounces = NO;
upWebView.scrollView.bounces = NO;
downWebView.scrollView.bounces = NO;

我们假设 webviews 中不可能滚动,因为显示的 html 页面比 iPad 屏幕小。

加载这些 web 视图后,只需移动其中心即可平滑过渡。

那么有没有办法改变 UIWebView 中手势识别器执行的滑动操作?

我尝试将 4 个 SwipeGesturesRecognizers(每个方向一个)直接放在 webViews 上,但由于某种原因,当我交换引用时,手势识别器失去了对 WebViews 的跟踪:

UIWebView *tmp = leftWebView;
leftWebView = middleWebView;
middleWebView = rightWebView;
rightWebView = tmp;

我尝试在窗口顶部的 UIView 上使用 4 个 SwipeGesturesRecognizers(每个方向一个),但现在点击被此视图阻止,因此用户无法再与可点击元素进行交互。

【问题讨论】:

    标签: iphone ios ipad uiwebview uigesturerecognizer


    【解决方案1】:

    您可以将自定义 UISwipeGestureRecognizer 添加到您的 webView .. 并像这样禁用 webView 中的滚动

    UIScrollView *scroll = [[self.webView subviews] lastObject];
    
    if([scroll isKindOfClass:[UIScrollView class]])
    {
        scroll = (UIScrollView*)scroll;
        [scroll setScrollEnabled:NO];
    }
    

    【讨论】:

    • 谢谢,这正是我需要添加以启用我自己的滑动手势识别器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多