8

我知道这在 iPhone 的 Tweetie 或 xkcd iPhone 应用程序中是可能的,但他们使用的是表格。知道这是否也可以简单地完成UIWebView?我知道这个 SO question中的 Javascript 建议,但是如何在本地制作呢?

4

4 回答 4

13

要检索 UIWebView 上的滚动事件,我个人使用此代码来获取 UIWebView 内的滚动视图:

- (void) addScrollViewListener
{
    UIScrollView* currentScrollView;
    for (UIView* subView in self.myWebView.subviews) {
         if ([subView isKindOfClass:[UIScrollView class]]) {
            currentScrollView = (UIScrollView*)subView;
            currentScrollView.delegate = self;
        }
    }
}

它正在工作。你也可以用它来调用[(UIScrollView*)subView setContentOffset:offSet animated:YES];唯一的问题可能是没有通过Apple代码检查。我还不知道,因为我仍处于编码阶段。

有人试过吗?

于 2010-11-03T10:56:56.753 回答
5

仅供参考,iOS 5 已正式在 UIWebView 中引入了属性scrollView。我测试了它。它与 EGO 的拉取和刷新代码完美配合。所以这个问题不再是任何 iOS 5 设备的问题。

为了向下兼容,您仍然需要@CedricSoubrie 的代码。

于 2011-10-30T10:17:40.493 回答
1

要在 UIWebView 中获取 UIScrollView 的引用,只需通过迭代槽子视图来搜索它。

for(id eachSubview in [webView subviews]){
        if ([eachSubview isKindOfClass:[UIScrollView class]]){
            scrollView = eachSubview;
            break;
        }
}

之后,您可以使用 UIWebView 和 UIScrollView 委托回调轻松地将事物连接到 EGORefreshTableHeaderView 接口。

于 2011-03-03T11:22:43.417 回答
1

说实话,UIWebVIew 类有一个未记录的 getter 方法,叫做 _scrollView;所以代码是:

scrollView = [webView _scrollView];

于 2011-03-03T12:34:16.407 回答