【问题标题】:How to show vertical or horizontal scroller on UIWebView?如何在 UIWebView 上显示垂直或水平滚动条?
【发布时间】:2013-01-16 12:44:10
【问题描述】:

我会使用 UIWebView 来处理一些 html 内容。有时数据的宽度或高度更多,但我有固定大小的 UIWebView。因此,从用户角度来看,我想垂直或水平显示滚动条,以指示用户在此视图中还有更多内容可用。我在用 [webView.scrollView flashScrollIndicators]; 但是当我触摸 UIWebView 时它会显示滚动条。我想默认显示滚动条。你能建议如何做到这一点。

【问题讨论】:

    标签: iphone ios objective-c uiwebview uiweb


    【解决方案1】:

    这里的答案很简单 - 你不能因为它违反了人机界面准则。手动显示它们的唯一方法是调用flashScrollIndicators,这是有原因的。 Apple 并不打算让您展示它们,因此如果您要实现它,这将是一种艰难的方式(子类化或创建自己的 UIWebView)。

    外观和行为

    当一个滚动视图首次出现时——或者当用户与之交互时——垂直或水平滚动指示器短暂闪烁以向用户显示他们可以显示的更多内容。除了瞬态滚动指示器,滚动视图没有预定义的外观。

    滚动视图会响应手势的速度和方向,以一种让人感觉自然的方式显示内容。当用户在滚动视图中拖动内容时,内容跟随触摸;当用户轻拂内容时,滚动视图会快速显示内容,并在用户触摸屏幕或到达内容末尾时停止滚动。滚动视图也可以在分页模式下运行,其中每个拖动或轻拂手势都会显示一个应用定义的内容页面。

    Source - iOS UI 元素使用指南

    【讨论】:

      【解决方案2】:

      像这样使用 webviw 的滚动视图:

         [(YOUR WEBVIEW).scrollView  setShowsHorizontalScrollIndicator:YES];
         [(YOUR WEBVIEW)scrollView  setShowsVerticalScrollIndicator:YES];
      

      你可以做一件事,使用这个

         - (void) webViewDidFinishLoad:(UIWebView *)webView){
      
              [(YOUR WEBVIEW).scrollView flashScrollIndicators];
      
           }
      

      当内容下载完成时,它会显示滚动指示器,用户会很容易理解,页面底部还有更多内容。

      【讨论】:

      • 我已经使用过它,但是在用户与 UIWebview 交互之后可以使用它。默认情况下它不起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2022-06-13
      • 2012-12-29
      • 2016-07-02
      • 2012-11-14
      • 2012-04-23
      相关资源
      最近更新 更多