【问题标题】:WKWebView not scrollable at firstWKWebView 起初不可滚动
【发布时间】:2017-12-20 13:29:37
【问题描述】:

我在我的 iOS 应用程序中使用 WKWebView。

我这样创建它(因为通过情节提要创建它会产生构建时错误)

let webConfiguration = WKWebViewConfiguration()
let webView = WKWebView(frame: view.frame, configuration: webConfiguration)
webView.navigationDelegate = self
view.insertSubview(webView, at: 0)

现在的问题是,当我想在页面加载后滚动页面时,我必须做出两次手势——在第一次滚动时它根本没有反应。

我尝试在 web 加载后调用 webView.becomeFirstResponder() 但没有任何改变。

【问题讨论】:

    标签: ios swift wkwebview


    【解决方案1】:

    试试这个:

    let webView = WKWebView(frame: view.bounds, configuration: webConfiguration) 
    

    【讨论】:

    • 不幸的是还是一样
    • 嗯,视图是在scrollView还是tableView里面?您可以尝试加载时自动滚动(这不是最好的,但这很奇怪)webView.scrollView.scrollToTop()也许对您有帮助。
    【解决方案2】:

    试试这个,应该可以的

    import UIKit
    import WebKit
    class ViewController: UIViewController, WKUIDelegate {
    
        var webView: WKWebView!
    
        override func loadView() {
            let webConfiguration = WKWebViewConfiguration()
            webView = WKWebView(frame: .zero, configuration: webConfiguration)
            webView.uiDelegate = self
            view = webView
        }
        override func viewDidLoad() {
            super.viewDidLoad()
    
            let myURL = URL(string: "https://www.apple.com")
            let myRequest = URLRequest(url: myURL!)
            webView.load(myRequest)
        }
    }
    

    另外,请查看 Xcode 中 WKWebView 的文档。

    【讨论】:

    • 与我的代码基本相同——“另外,请查看 Xcode 中 WKWebView 的文档。”这是什么建议?
    • 首先,你说你的问题是你必须做两次手势,而我的你不必做两次手势。它第一次起作用。其次,检查文档的意思是:在Xcode里面,有WKWebView的文档,有关于如何使用WKWebView的例子。第三,不要在没有尝试建议的情况下发表评论。如果有帮助,请删除 -1 并接受我的回答。
    • 您的建议无效,我已阅读文档。没有任何进一步提示的一般建议“阅读文档”根本没有帮助。你的答案是垃圾,因此-1,如果你不喜欢它删除你的答案
    • 它肯定对我有用,也许你还有其他问题。
    猜你喜欢
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2017-02-12
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多