【问题标题】:UIWebView allow tapping but prevent scrollingUIWebView 允许点击但阻止滚动
【发布时间】:2011-12-20 21:45:18
【问题描述】:

我有一个 UIWebView(已调整大小以完全包含 html),我想将此 Web 视图与其他一些视图一起放入 UIScrollView。

如果我在 Web 视图中设置 userInteractionEnabled = NO... 它可以完美运行,只是我无法点击 Web 视图中的链接。但是,如果我将 userInteractionEnabled = YES 留在 Web 视图上......那么,如果用户在 Web 视图内滑动而不是滚动 UIScrollView,它会在 Web 视图内反弹文本(即在滚动视图内)。

有什么帮助吗?

谢谢!

【问题讨论】:

    标签: iphone uiview uiwebview uiscrollview scroll


    【解决方案1】:

    是的,这将发生,它就像另一个滚动视图上的滚动视图,当您滚动子滚动视图时,您不能滚动父滚动视图。我不认为你想要什么是可能的。因为如果网页内容增加,那么子 webview 肯定会在周围滚动......

    【讨论】:

      【解决方案2】:

      要关闭webView 中的滚动,您需要这样做 -

          for(id subview in self.scrollView.subviews)
          {
              if([[subview class] isSubclassOfClass:[UIWebView class]])
                  ((UIScrollView *)subview).scrolling = NO;
          } 
      

      这里发生的情况是,我们正在循环遍历您的主要 UIScrollView 内的所有子视图,并关闭 UIWebView 视图的滚动。这是可能的,因为UIWebView 继承自UIScrollView

      希望这会有所帮助。

      更新:更正。正如@lxt 指出的那样——UIWebView 不继承自 UIScrollView。它包含一个滚动视图,但 Web 视图本身只是一个 UIView 子类。

      【讨论】:

      • 几件事:UIWebView 继承自UIScrollView。它包含一个滚动视图,但 Web 视图本身只是一个 UIView 子类。此外,此答案需要稍作调整才能在 iOS 5 以外的任何操作系统上运行,因为在 5 之前,Web 视图的 scrollView 属性未公开提供。
      【解决方案3】:

      将一堆其他答案拼凑在一起......这对我来说非常有用:

      if ([_webView respondsToSelector:@selector(scrollView)]) {
          _webView.scrollView.scrollEnabled = NO; // available starting in iOS 5
      } else {
          for (id subview in _webView.subviews)
              if ([[subview class] isSubclassOfClass: [UIScrollView class]])
                  ((UIScrollView *)subview).scrollEnabled = NO;        
      }
      

      【讨论】:

        【解决方案4】:

        我的故事板的 about 视图中有一个 WebView“正文”。

        为了防止滚动“body”(WebView),这很好用:

        - (void)viewDidLoad{
            ...
            body.scrollView.scrollEnabled=NO;
          }
        

        如果文本太大,其行为类似于 HTML5/CSS3 的“溢出:隐藏”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-03-06
          • 1970-01-01
          • 1970-01-01
          • 2016-07-26
          • 1970-01-01
          • 1970-01-01
          • 2017-09-23
          • 1970-01-01
          相关资源
          最近更新 更多