吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1597|回复: 2
收起左侧

[其他原创] [ios]ios通过webview加载文章(连载4)

[复制链接]
debug_cat 发表于 2021-3-7 22:44
本帖最后由 莫问刀 于 2021-3-7 22:49 编辑

国际惯例,先上效果图
Xnip2021-03-07_22-20-14.png

go~

001:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1383664&page=1&extra=#pid37203646
002:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1384504&page=1&extra=#pid37221643
003:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1384983&page=1&extra=#pid37232297

wkWebView使用

前2篇文章我们加载了公众号的列表文章的列表。当我们点击文章的时候,需要打开文章详情进行浏览。

今天我们就简单使用wkwebview来加载文章。

  • 控制器的代码,也就是我们页面。

    接受前一个页面传递过来的文章url地址。

    然后设置webview的大小是页面的安全区内。

//
//  ArticleWebViewController.swift
//  uitable
//
//  Created by Alice on 2021/3/7.
//

import Foundation
import UIKit
import SnapKit
import WebKit
//显示文章详情的页面
class ArticleWebViewController: UIViewController {

    var articleUrl = ""

    private lazy var webView: WKWebView = {
        let web = WKWebView(frame: .zero)
        return web
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "文章详情"
        view.addSubview(webView)
        webView.snp.makeConstraints { (make) in
            make.width.equalToSuperview()
            make.top.equalTo(view.safeAreaLayoutGuide.snp.top)
            make.bottom.equalTo(view.safeAreaLayoutGuide.snp.bottom)
        }
        //打开网页
        let urlPath = URL(string: articleUrl)
        let request = NSMutableURLRequest(url: urlPath!)
        webView.load(request as URLRequest)
    }
}
  • 前一个页面tabview设置点击事件,把文章的地址传递过新的页面中

    //文章的点击事件
      func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
          //关闭点击的灰色背景
          tableView.deselectRow(at: indexPath, animated: false)
          //点击文章的时候,进入文章详情中
          let web = ArticleWebViewController()
          //把数据中对应的文章的链接取出,设置到文章详情中的属性articleUrl中
          web.articleUrl = articleList[indexPath.row].link
          self.navigationController?.pushViewController(web, animated: true)
      }

到此,就完成了,作者,文章列表,文章详情的查看。简单的一个demo。

从这个demo中,我们学会了什么?

1:页面之间跳转,以及页面之间传递数据

2:请求网络的数据

3:网络数据转模型保存

4:UI布局,就是如何摆放控件的位置(snapkit)使用

5:uitableview的学习,如果加载数据数据转>列表显示

6:列表显示点击默认有灰色背景,如何去除

7:webview加载url

这些都不是一步就能完成的,回顾下事件的驱动。

我需要加载列表,我需要数据,用什么工具获得数据?Alamofire

数据加载完成,怎么转模型?ObjectMapper

显示多个数据,可以滑动的列表是什么?UITableView

如何布局ui,如何显示文本,如何显示图片?==,以此类推。自己去寻找答案。

寻找答案方式很多,比如最基本的就是百度,Google,==很多。还有问群大神,还有朋友==。

只要你不是不动手,主动点,都可以得到答案,重要的是,你想解决这个问题吗。


这个简单的demo,就到此了。

接下来的计划:

底部多个tab,类似于微信的底部那种效果实现

做到了,就会分享给大家,然后打开下一个计划。

以上


代码地址:

https://github.com/cat13954/IOSUiTableViewSample

如果对你有帮助,记得GitHub star哦

免费评分

参与人数 4吾爱币 +10 热心值 +4 收起 理由
mo211683 + 1 + 1 用心讨论,共获提升!
石碎大胸口 + 1 + 1 用心讨论,共获提升!
E式丶男孩 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
苏紫方璇 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

  • · Aarow|主题: 988, 订阅: 304

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

NvidiaChina 发表于 2021-3-7 22:53
前排围观一下
o油条豆腐脑o 发表于 2021-3-7 23:39
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表