iOS:UIWebView scrollView 的分页滑动问题

最近在弄一个native webview+html的项目,感受这种尝试仍是挺不错的,特被是适合内容类app。如杂志、电子书等。其实native搭的就是一个框架,主体仍是在html的内容上,因此花在html的功夫要十分多。html

  要作到webview的分页的效果,主要是利用UIwebView里面的scrollView的属性。web

webview里面有一个分页模式的功能,设置app

webView.scrollView.pagingEnabled = YES;框架

便可。这样设置的话,你的webview能够按分页滚动,滚动的距离(页宽)就是按照scrollView的size来设定。若是你要本身定义滚动页面大小的话能够经过设置scrollView的size去改变。例如个人项目中就要设置成984,而不是1024(for ipad)。我 就设置以下:spa

self.webView.scrollView.frame = CGRectMake(00984748);//for 横屏htm

还有要设置:对象

    webView.scrollView.clipsToBounds = NO; //这样超出范围scrollView.frame 也会显示,即整个webView仍是会正常显示。事件

这样就搞定了。ip

若是你从新设置的scrollView变小了,那响应的响应就变小了,若是有须要的话就重写UIScrollView所在的parentView的hittest事件,在其余区域的事件返回值为UIScrollView对象,这样用户感受整个屏幕都是UIScrollView在响应了。webview

此外,scrollView的contentOffset属性也蛮重要的,它表示当前scrollView的原点到content View的位移,能够当作分页里面的地位点,页码数来使用。

 

contentSize就是可滚动的最大区域了,这个能够表示总页数。

 

上面的方法应该够用了,若是有更特殊的须要,就把分页功能关闭,本身在各类动做响应事件里面设置contentOffset也能够实现分页,但要达到官方的那种效果的话动做须要处理得很协调,课设置加速、减速的速率之类的。

相关文章
相关标签/搜索