前言
- 本周继续完成知乎日报
- 完成了以往新闻的点击和在新闻内部的刷新,其中遇到了一些小问题,在此记录一下
- 实现了请求到评论
- 本周未学习新的知识点,简单记录
Masonry的坑
- webView不能用Masonry修饰,在写点击进去的内容的时候,我设置的是用 Masonry修饰webView,导致里面的内容不能显示
- WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件,Network Loading 以及 UI Rendering 在其它进程中执行。初次适配 WKWebView 的时候,我们也惊讶于打开 WKWebView 后,App 进程内存消耗反而大幅下降,但是仔细观察会发现,Other Process 的内存占用会增加。在一些用 webGL 渲染的复杂页面,使用 WKWebView 总体的内存占用(App Process Memory + Other Process Memory)不见得比 UIWebView 少很多。
- 在 UIWebView 上当内存占用太大的时候,App Process 会 crash;而在 WKWebView 上当总体的内存占用比较大的时候,WebContent Process 会 crash,从而出现白屏现象。在 WKWebView 中加载下面的测试链接可以稳定重现白屏现象:
- 使用Frame解决了以上的问题
实现点击新闻可以和内部刷新问题
点击跳转

- 在点击的时候获取该点击文章的URL,然后在点击的时候进行URL请求
- 思路:mainVIew->mainViewController->WebController->webView;
- 在mainVIew的tableViewcell点击事件返回row和url的关系即可

内部页面的刷新
-
关于内部页面的刷新,这里我只涉及到了webView和webViewController两个界面 -
当scrollview滑动到超越当当前已经加载的scrollview.x的宽度的时候,进行网络请求,一次请求6个数据(这周发线了有5个数据的时候,所以出了点问题,需要改成动态的数组) -
然后传值到webViewcontroller进行数据请求,符合MVC模式 -
然后调用在webView里写的reload方法 - 这里还遇到了请求数据报错的问题 -
仔细查阅发现NSDate dateWithTimeIntervalSinceNow的参数为double而不是long 所以刚开始定义的NSIntger类型的变量才会出现大幅度的报错 改成Double或者int均可完成 -
调用reloadscrollview 
总结
|