iPhone - 当用户触摸状态栏(iOS 4)时,将UIWebView子视图滚动到顶部

时间:2011-10-25 00:10:18

标签: iphone ios cocoa-touch uiwebview scroll

我有一个包含以下内容的mainView:

  • 一个分页的scrollView,
  • 页面控件
  • 关闭按钮

并且scrollView的每个页面都包含一个包含webView的子视图。

用户可以从页面到页面从左到右,并在每个webView上下滚动。

但是......当用户触摸状态栏时,如何将当前显示的webView滚动到顶部?

编辑: 对于iOS4当然。

2 个答案:

答案 0 :(得分:3)

[yourPaginatedScrollView setScrollsToTop:NO];
[(UIScrollView *)[yourWebView.subviews objectAtIndex:0] setScrollsToTop:YES];

第一行也很重要,否则将分配两个滚动视图=> iOS无法真正选择,因此当您触摸状态栏时,它不会决定滚动视图滚动到顶部。

答案 1 :(得分:0)

  1. 如果您正在针对iOS 5基础SDK构建应用程序,您可以在UIWebView中使用现在的公共属性“scrollView”,使用它可以滚动到您想要的任何偏移量。

  2. 如果您正在构建SDK< 5.0,它可以使用HTML功能以另一种方式完成。您可以在HTML代码的顶部某处使用Anchor标记,在标记开始后的最开始,包含此锚点:

    <强>&LT; NAME =“top_of_page”&gt;

  3. 现在,当用户点击状态栏时,请执行以下操作触发:

    <A HREF="#top_of_page">
    

    不知怎的,不太确定如何!

    也许使用:

    - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
    

    ???