我知道这可以在Tweetie for iPhone或xkcd iPhone应用程序中使用,但他们正在使用表格。不知道是否可以为简单的UIWebView
做到这一点?我知道this SO question中的Javascript建议,但是如何在本地制作呢?
答案 0 :(得分: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代码检查。我还不知道,因为我还处于编码阶段。
有人试过吗?
答案 1 :(得分:5)
仅供参考,iOS 5已在UIWebView中正式引入了属性 scrollView 。我测试了它。它与EGO的拉取和刷新代码完美配合。因此,对于任何iOS 5设备而言,问题不再是问题。
为了向下兼容,你仍需要@ CedricSoubrie的代码。
答案 2 :(得分:1)
要在UIWebView中获取UIScrollView的引用,只需通过迭代子视图进行搜索。
for(id eachSubview in [webView subviews]){
if ([eachSubview isKindOfClass:[UIScrollView class]]){
scrollView = eachSubview;
break;
}
}
之后,您可以使用UIWebView和UIScrollView委托回调轻松地将内容连接到您的EGORefreshTableHeaderView界面。
答案 3 :(得分:1)
说实话,UIWebVIew类有一个名为_scrollView的未记录的getter方法; 所以代码是:
scrollView = [webView _scrollView];