如何在WebView中隐藏滚动条?

时间:2018-02-25 08:46:33

标签: html ios css swift webview

我切换到 WKWebView ,因为不再建议Apple使用 UIWebView

使用以下代码从WebView中的Container加载HTML文件:

let webview = myWKWebViewClass.webview(for: Bundle.main.filename)
webview.scrollView.isScrollEnabled = false
myContainerView.addSubview(webview)

工作得很好。

  

但是当我使用WKWebView时,显示使用UIWebView时隐藏的滚动条。

使用这个css样式的属性也不起作用(但使用UIWebView它按预期工作)

 <style>
    ::-webkit-scrollbar {
         display: none!important;
    }
 </style>

编辑:我正在使用iPhone作为运行iOS 11.2的真实设备(不在模拟器中)。

img

还尝试使用此Swift代码:

webview.scrollView.showsHorizontalScrollIndicator = false
webview.scrollView.showsVerticalScrollIndicator = false

根本不起作用。

任何隐藏滚动条的帮助都将不胜感激。提前谢谢!

2 个答案:

答案 0 :(得分:-1)

您可以使用UIScrollViewDelegate。

以下是隐藏导航栏和带滚动的工具栏的示例代码:

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var toolBar: UIToolbar!
    @IBOutlet weak var webV: UIWebView!
    var lastOffsetY :CGFloat = 0
    override func viewDidLoad() {
        super.viewDidLoad()

        webV.scrollView.delegate = self
        let url = "http://apple.com"
        let requestURL = NSURL(string:url)
        let request = NSURLRequest(URL: requestURL!)
        webV.loadRequest(request)
    }

    //Delegate Methods
    func scrollViewWillBeginDragging(scrollView: UIScrollView){
        lastOffsetY = scrollView.contentOffset.y
    }

    func scrollViewWillBeginDecelerating(scrollView: UIScrollView){

        let hide = scrollView.contentOffset.y > self.lastOffsetY
        self.navigationController?.setNavigationBarHidden(hide, animated: true)
        toolBar.hidden = hide
    }
}

答案 1 :(得分:-2)

您可以使用visibility:none而不是display

相关问题