提问人:Jonas0000 提问时间:2/25/2018 最后编辑:Harshal BhavsarJonas0000 更新时间:2/25/2018 访问量:3330
如何在WebView中隐藏滚动条?
How to hide scrollbar in WebView?
问:
我切换到 WKWebView,因为 Apple 不再建议使用 UIWebView。
使用以下代码从 WebView 中的容器加载 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的真实设备(不在模拟器中)。
还尝试使用此 Swift 代码:
webview.scrollView.showsHorizontalScrollIndicator = false
webview.scrollView.showsVerticalScrollIndicator = false
它根本不起作用。
任何隐藏滚动条的帮助将不胜感激。提前致谢!
答:
-1赞
Rashed
2/25/2018
#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
}
}
评论
0赞
Jonas0000
2/25/2018
谢谢你的回答。我稍后会尝试您的解决方案,如果它有效,您将获得正确的标记。@Md......
-2赞
Sukhwinder
2/25/2018
#2
您可以使用 visibility:none 代替 display
评论
0赞
Jonas0000
2/25/2018
可见性:none 也不起作用。Display:none 可能是最好的方法 - 这两种解决方案显然都不起作用!
评论
webview.scrollView.showsVerticalScrollIndicator = false