Включить / отключить UITabBar в WKWebView - PullRequest
0 голосов
/ 13 июня 2019

У меня проблема с моим ToolBar. Unzwar Я хочу, чтобы они исчезли при прокрутке вниз и позволить появиться снова при прокрутке вверх. К сожалению, инструкции в интернете мне не помогают, потому что я написал WKWebView в коде. Это займет полный просмотр, в результате чего Уведомление о cookie отключено, и вы не можете подтвердить это.

Вот мой код:

import UIKit
import WebKit

class SecondViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {

    @IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
    var webView : WKWebView!
    @IBOutlet weak var containerView: UIScrollView? = nil

    var url: String?
    var pageTitle: String?
    var requestUrl: String?

    override func viewDidLoad() {
        super.viewDidLoad()

        // add activity
        self.webView.addSubview(self.activityIndicatorView)
        self.activityIndicatorView.startAnimating()
        self.webView.navigationDelegate = self
        self.activityIndicatorView.hidesWhenStopped = true
    }

    override func loadView() {
        super.loadView()
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: view.frame, configuration: webConfiguration)
        self.view.addSubview(self.webView)
        webView.isUserInteractionEnabled = true
        webView.allowsBackForwardNavigationGestures = true
        webView.load(URLRequest(url: URL(string: "EXAMPLE-URL")!))

    }

    func scrollViewWillBeginDragging(scrollView: UIScrollView) {
        if scrollView.panGestureRecognizer.translation(in: scrollView).y < 0{
            changeTabBar(hidden: true, animated: true)
        }
        else{
            changeTabBar(hidden: false, animated: true)
        }
    }

    func changeTabBar(hidden:Bool, animated: Bool){
        guard let tabBar = self.tabBarController?.tabBar else { return; }
        if tabBar.isHidden == hidden{ return }
        let frame = tabBar.frame
        let offset = hidden ? frame.size.height : -frame.size.height
        let duration:TimeInterval = (animated ? 0.5 : 0.0)
        tabBar.isHidden = false

        UIView.animate(withDuration: duration, animations: {
            tabBar.frame = frame.offsetBy(dx: 0, dy: offset)
        }, completion: { (true) in
            tabBar.isHidden = hidden
        })
    }

Результат должен быть прокручиваемым ToolBar для WKWebView

Кто-нибудь может мне помочь?

Заранее спасибо

...