您的位置:首页 > 移动开发 > IOS开发

about window.pageYOffset,document.body.scrollTop not working in iOS 7

2013-10-24 01:07 549 查看
最近在升级应用支持iOS7时,发现了一个长期以来都存在的bug。

针对UIWebView 内部实现的UIScrollViewDelegate委托,我们在开发过程中,经常会直接继承UIWebView,并且OverWrite 他的UIScrollViewDelegate。

#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//TODO
}


这样的写法在使用iOS6 SDK 以及iOS6 以下编译都没有出现过问题。但是最近在使用iOS7 SDK编译后,发现在UIWebView脚本调用的时候,window.pageYOffset,document.body.scrollTop 等属性失效,刚开始一直认为是iOS7 是不是针对UIWebView 的 Safari做了什么特殊处理,后来还google了好长一段时间,还发现了一些跟我出现相同问题的coder。
http://stackoverflow.com/questions/19001892/window-pageyoffset-not-working-in-ios7
某些时候,我还一直以为是iOS7的bug。后来分析了线上的几款应用,发现别人是正常的。XX。。那肯定是应用本身的问题。

后来当把注意力转移到UIWebView本身时候,才发现,在开发过程中,经常的去继承,但是并没有注意到父类本身委托的实现。

该bug的解决,只需要。。

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[super scrollViewDidScroll:scrollView];
}


好吧。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息