网络请求网页数据并且刷新
设定wkWeb的应用
在点击单元格后要进入网页界面,因为是获取URL访问知乎日报上的文章,因此需要在点击进文章后将该单元格的URL或者id的值传进下一个页面,这里用属性传值将所有的东西都存在数组中。
wkWeb—UIWebView的基本使用
UIWebView *webView = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = webView;
NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
这样就可以把页面展示出来
WKWebView的基本使用
其实和UIWebView的用法没什么区别
但是WKWebView相对于UIWebView强大了很多,内存的消耗相对少了,所提供的接口也丰富了。
推荐使用
多了一部操作就是需要包含webkit框架
@import webkit
WKWebView *webView = [[WKWebView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = webView;
NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
实现无限左右滑动
这里使用的方法,此时加载完成的WKWebView继续刷的时候应该是可以继续网络请求获取数据的,这时候就需要在最后一页滑动时再次网络请求,获取最新数据并且显示出来,把滚动视图的初始宽度设置比数据多一份宽度,滑动时网络请求,不会出现视觉上的卡顿。
_scrollView.contentSize = CGSizeMake(_allArray.count * 6 * SIZE_WIDTH + SIZE_WIDTH, 0);
for (int i = 0; i < 6; i++) {
_wkWebView = [[WKWebView alloc] init];
_wkWebView.tag = 1011;
NSURL *url = [NSURL URLWithString:_allArray[_allArray.count - 1][@"stories"][i][@"url"]];
_wkWebView.frame = CGRectMake((_allArray.count - 1) * SIZE_WIDTH * 6 + i * SIZE_WIDTH, 0, SIZE_WIDTH, SIZE_HEIGHT * 0.91 - 40);
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_wkWebView loadRequest:request];
[self.scrollView addSubview: _wkWebView];
}
当滑动超过本来已经存在的数据时,在滑向多余页面的时候调用函数进行布局。
点赞收藏与数据库
这里会在下方创建点赞按钮,并且设置点赞按钮的两个状态,点赞数据会请求到数据 self.wkWebView.goodLabel.text = [NSString stringWithFormat:@"%d", goodNum];
关于数据库的方面还需要继续学习来完成之后的收藏功能