gpt4 book ai didi

ios - 在iOS webkit webview中隐藏 ScrollView 和滚动条

转载 作者:行者123 更新时间:2023-11-29 05:44:01 27 4
gpt4 key购买 nike

我最近刚刚将我的 iOS UIWebview Objective-c 迁移到 WKWebkit swift,现在面临的问题是如何从我加载的网站中隐藏滚动条。我已经尝试过任何方法,但都不起作用,请任何人帮助我。

我在这里遵循了这一步How to hide scrollbar in WebView? ,问题和接受的答案,但它对我不起作用。

请我知道这可能是一个重复的问题,但我已经尝试了很多帖子来解决这个问题,但没有成功。

var lastOffsetY :CGFloat = 0
override func viewDidLoad() {
super.viewDidLoad()
webViewSetup()
}

在 webViewSetup 中

func webViewSetup(){
webView.scrollView.delegate = self
}

在 viewWillAppear 中

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let scrollView = webView.subviews[0] as? UIScrollView
webView.scrollView.contentSize = CGSize(width: webView.frame.size.width, height: webView.scrollView.contentSize.height)
scrollView?.bounces = false
scrollView?.decelerationRate = .fast
scrollView?.showsHorizontalScrollIndicator = false
webView.scrollView.showsHorizontalScrollIndicator = false
webView.scrollView.showsVerticalScrollIndicator = false
webView.scrollView.alwaysBounceHorizontal = false
webView.scrollView.bounces = false
}

在scrollViewDidScroll中

func scrollViewDidScroll(_ scrollView: UIScrollView) {

if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) {
scrollView.setContentOffset(CGPoint(x:scrollView.contentOffset.x, y:scrollView.contentSize.height - scrollView.frame.size.height), animated: false)
}
}

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

//FIXING SCROLL VIEW
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView){
let hide = scrollView.contentOffset.y > self.lastOffsetY
self.navigationController?.setNavigationBarHidden(hide, animated: true)
}

最佳答案

要关闭 WebView 的滚动:

webView.scrollView.isScrollEnabled = false

如果您提供的代码仅用于关闭 ScrollView ,则该代码很大程度上可以被精简为如下所示:

import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate {

var webView: WKWebView!

//configure webView
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
webView.scrollView.isScrollEnabled = false
view = webView
}

override func viewDidLoad() {
super.viewDidLoad()

if let url = URL(string: "https://www.stackoverflow.com") {
webView.load(URLRequest(url: url))
}
}
}

关于ios - 在iOS webkit webview中隐藏 ScrollView 和滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56305923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com