上周完成了主页面的刷新数据后,这周主要完成点进单元格实现里面文章的展现并且能够左右滑动文章
学习了WKWebView的简单使用
- 在点击单元格后,需要使用
WKWebView
创建网页。因为是获取URL
访问主乎日报上的文章,因此需要在点击进文章后将该单元格的URL
或者id
的值传进下一个页面(我用的是通知传值) - iOS (一) - UIWebView 与 WKWebView . 基本使用
左/右滑动到上/下一篇文章(无限右滑)
- 刚开始写这个时,我先看主页面的单元格数组一共有多少个,然后在点进去后一次性创建数组中所有的文章存储在
UIScrollView
中。后来发现这样不太符合逻辑。当主页面文章个数少时这样做看起来确实没有什么问题,但是当主页面不断刷新文章个数越来越多时,这时我们点进去再加载所有文章会发现十分缓慢,不停地停留在空白页面,如果在实际开发中这样做,用户不想观看所有文章时,等待的时间过久就影响了用户的感受。 - 因此,我更改为点进单元格只创建一个
WKWebView
,放置在对应的滚动视图的位置,当我左/右滑动时,就获取上/下一篇文章的URL
再去创建WKWebView
。 如何实现无限右滑?
当我右滑到数组存储的最后一个URL
时(主页面所显示出来的单元格数),我再设置一定的滑动距离,当滑动到那个距离时,进行网络请求,和主页面一样一次性获取六篇文章的信息(使用和主页面.m
中同一段代码修改一点点即可),然后刷新主页面的TableView
。并且最关键的,还要将文章的滚动视图的contentSize
增大六个屏宽,这样才能保证继续往下刷新。- 当我左右滑动时,我想在保证只进行左右滑动的同时不能上下滑动,或者上下滑动的同时不能左右滑动。我试过将
scrollView
的bounce
属性设置为NO
,虽然解决了上述问题,但是还是存在一点点不期望的滑动,糟糕的是我取消弹动后无法设置在滑向数组最后一个元素对应的文章后,无法再通过滑动距离去刷新(无限右滑)了。后来查询发现只需在设置滚动视图的contentSize
时,将高度设置为零
即可。因为文章里的滚动视图是WKWebView
自带的,就没必要再设置contentSize
的高度值了。
_webPageScrollView.contentSize = CGSizeMake(SIZE_WIDTH * _URLArray.count, 0);
点击评论后获取评论页面
- 只完成了对评论的网络数据请求,
View
方面尚未完成