先看效果:
1.普通情况下的透明效果
2.上拉到底部后的效果
3.实现原理:UIwebview也是实现UIScrollviewdelegate的,所以首先在类定义后面遵守代理协议UIScrollviewdelegate,然后添加下面两个方法即可:
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
[self listenAndChangeWebview:scrollView];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
[self listenAndChangeWebview:scrollView];
}
//监听和改变webview的状态
- (void)listenAndChangeWebview:(UIScrollView *)scrollView{
//获取当前scrollView的y坐标
CGFloat webViewHeight=scrollView.contentOffset.y;
//获取网页高度
CGFloat height = [[self.webview stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue];
//两者进行比较,以确定何时让底部当行栏透明
if ((webViewHeight+504)>=(height-50)) {
self.webview.frame = CGRectMake(0, 0, kMAIN_SCREEN_WIDTH, kMAIN_SCREEN_HEIGHT-64-50);
}else{
self.webview.frame = CGRectMake(0, 0, kMAIN_SCREEN_WIDTH, kMAIN_SCREEN_HEIGHT-64);
}
}