| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- //
- // MJWKWebViewController.swift
- // MJRefreshExample
- //
- // Created by Frank on 2021/3/3.
- // Copyright © 2021 小码哥. All rights reserved.
- //
- import UIKit
- import WebKit
- // 在实际的工程中, 使用以下 Import module 即可
- //import MJRefresh
- @objc
- class MJWKWebViewController: UIViewController {
- var webView: WKWebView!
-
- func example41() {
- MJChiBaoZiHeader { [weak self] in
- self?.webView.reload()
- }.autoChangeTransparency(true)
- .link(to: webView.scrollView)
-
- webView.scrollView.mj_header?.beginRefreshing()
- }
- }
- // MARK: 🌈 无关例子的样式构建方法
- extension MJWKWebViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
-
- constructViews()
- }
- override func viewWillAppear(_ animated: Bool) {
- super.viewWillAppear(animated)
-
- navigationController?.setNavigationBarHidden(true, animated: true)
- setNeedsStatusBarAppearanceUpdate()
- }
- override func viewWillDisappear(_ animated: Bool) {
- super.viewWillDisappear(animated)
-
- navigationController?.setNavigationBarHidden(false, animated: true)
- }
-
- override var prefersStatusBarHidden: Bool {
- true
- }
-
- private func constructViews() {
- webView = WKWebView(frame: view.frame)
- webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
- view.addSubview(webView)
- webView.navigationDelegate = self
-
- let size = view.frame.size
- let warningLabel = UILabel(frame: CGRect(x: size.width - 210, y: size.height - 160, width: 200, height: 50))
- warningLabel.text = "注意,这不是原生界面,是个网页:http://weibo.com/excepptions"
- warningLabel.adjustsFontSizeToFitWidth = true
- warningLabel.textColor = .black
- warningLabel.backgroundColor = UIColor.lightGray.withAlphaComponent(0.3)
- warningLabel.numberOfLines = 0
- let mask: UIView.AutoresizingMask = [.flexibleRightMargin, .flexibleBottomMargin]
- warningLabel.autoresizingMask = mask
- webView.addSubview(warningLabel)
-
- let backButton = UIButton(frame: CGRect(x: size.width - 210, y: size.height - 100, width: 200, height: 50))
- backButton.setTitle("回到上一页", for: .normal)
- backButton.backgroundColor = .red
- backButton.autoresizingMask = mask
- backButton.addTarget(self, action: #selector(back), for: .touchUpInside)
- webView.addSubview(backButton)
-
- webView.load(URLRequest(url: URL(string: "http://weibo.com/exceptions")!))
- example41()
- }
-
- @objc
- func back() {
- navigationController?.popViewController(animated: true)
- }
- }
- extension MJWKWebViewController: WKNavigationDelegate {
- func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
- webView.scrollView.mj_header?.endRefreshing()
- }
- }
|