WKWebView不会在第二个窗口中滚动

我正在将iPad应用程序移植到Maccatalyst。我可以以编程方式启动第二个“窗口”,并将WKWebView作为子视图添加到它(我的帮助屏幕)。显示内容的顶部以及滚动指示符。但是,没有鼠标或键盘操作可以滚动。如果实际上是问题所在,则不确定如何在两个窗口之间转移“焦点”。生成WKWebView及其所有设置的代码与iPad版本的代码相同。

更新

在SceneDelegate中-

import Foundation
import Cartography

class HelpSceneDelegate: UIResponder,UISceneDelegate {
    var window: UIWindow?
    var helpSession: UIScenesession?
    func scene(_ scene: UIScene,willConnectTo session: UIScenesession,options connectionOptions: UIScene.ConnectionOptions) {

        guard let sceneWindow = (scene as? UIWindowScene) else { return }
        helpSession  = session
        window = UIWindow(frame: sceneWindow.coordinateSpace.bounds)
        window?.windowScene = sceneWindow
        window?.backgroundColor = .white
        window?.rootViewController = ViewController()
        window?.makeKeyAndVisible()
        createHelp()
    }

    func createHelp() {
        let app = UIApplication.shared.delegate as! AppDelegate
        app.infoWebViewVC!.loadView()
        delay(0.30) {
            app.infoWebViewVC?.viewDidLoad()
            app.infoWebViewVC?.infoWebView?.alpha = 1.0
            let webView = app.infoWebViewVC!.infoWebView!
            self.window?.addSubview(webView)
            let backButton = UIButton(frame: CGRect(0,50,20,20))
            backButton.setImage(#imageLiteral(resourceName: "back_filled"),for: .normal)
            backButton.addTarget(self,action: #selector(self.onBack),for: .touchUpInside)
            self.window?.addSubview(backButton)
            constrain(webView,backButton) { w,b in
                w.top == w.superview!.safeAreaLayoutGuide.top + 20
                w.bottom == w.superview!.safeAreaLayoutGuide.bottom - 20
                w.centerX == w.superview!.centerX
                w.width == w.superview!.width*0.75
                b.centerY == w.superview!.centerY
                b.leading == b.superview!.safeAreaLayoutGuide.leading + 5
                b.width == 40
                b.height == 40
            }
        }
    }

    @objc
    func onBack(_ sender: UIButton) -> () {
        UIApplication.shared.requestScenesessionDestruction(helpSession!,options: nil)
    }

如果将createHelp()放在window?.makeKeyAndVisible()之前,则窗口不会响应任何事件(触摸按钮或滚动)。请注意如何在UIScene世界中关闭窗口。我正在使用制图来管理布局。在迁移到SwiftUI时,投入了太多资金。

hyt19880222 回答:WKWebView不会在第二个窗口中滚动

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3126142.html

大家都在问