iPhone - UIWebView的:检测用户滚动页
问题描述:
的底部,所以,我有一个内部服务建立一个本地的HTML文件(文档预览)一个UIWebView一个UIView。我也有“接受”&“拒绝”UIButtons。我需要这些按钮才会在用户滚动到网页底部后才显示。有没有办法捕获一个滚动到UIWebView底部的事件?iPhone - UIWebView的:检测用户滚动页
我还没有看到任何好的答案,任何人都可以帮忙吗?
在此先感谢。
答
呵呵?
为什么不在页面底部包含按钮?
答
UIWebView符合UIScrollViewDelegate。因此,您可以创建UIWebView的子类(比如ScrollDetectWebView)并捕获对UIScrollViewDelegate的调用。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[super scrollViewDidScroll: scrollView];
// Whatever scroll detection you need to do
}
答
JavaScript允许处理滚动事件并将消息发送到Objective-c。
答
- (void)viewDidLoad {
[super viewDidLoad];
self.webView.scrollView.delegate = self;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
CGSize fittingSize = [self.webView sizeThatFits:CGSizeZero];
CGFloat height1 = scrollView.bounds.origin.y + self.webView.bounds.size.height;
CGFloat height2 = fittingSize.height;
int delta = fabs(height1 - height2);
if (delta < 30) {
NSLog(@"HELLO!!! You reached the page end!");
}
}
按钮不在HTML中,它们位于也具有UIWebView的UIView中。 – JWD 2010-10-25 19:21:15
啊,在这种情况下。您可以在单独的viewController中将HTML呈现为模式视图,并使用HTML和底部的按钮。 – Jordan 2010-10-25 19:27:34