Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript macOS应用程序中的WKWebView web inspector无法渲染并闪烁/闪烁_Javascript_Swift_Macos_Wkwebview_Web Inspector - Fatal编程技术网

Javascript macOS应用程序中的WKWebView web inspector无法渲染并闪烁/闪烁

Javascript macOS应用程序中的WKWebView web inspector无法渲染并闪烁/闪烁,javascript,swift,macos,wkwebview,web-inspector,Javascript,Swift,Macos,Wkwebview,Web Inspector,我已经为我的WKWebView启用了开发人员附加功能,但是当我从下拉列表中选择“Inspect Element”时,inspector无法正确渲染。它基本上是透明的,web视图的下半部分会闪烁,但不会出现任何检查器内容 我可以调整窗口的大小,使其对于检查器来说太小,然后当我检查元素时,检查器显示为外部窗口,并且一切正常。然而,在每个测试周期中添加窗口调整大小/调用检查器/窗口调整大小是相当痛苦的 可接受的答案可能包括: 任何修复WKWebView内部检查器中闪烁的方法 用于以编程方式调用外部检查

我已经为我的WKWebView启用了开发人员附加功能,但是当我从下拉列表中选择“Inspect Element”时,inspector无法正确渲染。它基本上是透明的,web视图的下半部分会闪烁,但不会出现任何检查器内容

我可以调整窗口的大小,使其对于检查器来说太小,然后当我检查元素时,检查器显示为外部窗口,并且一切正常。然而,在每个测试周期中添加窗口调整大小/调用检查器/窗口调整大小是相当痛苦的

可接受的答案可能包括:

  • 任何修复WKWebView内部检查器中闪烁的方法
  • 用于以编程方式调用外部检查器窗口的Swift/Objective-C代码
  • 用于以编程方式调用外部检查器窗口的JavaScript代码
  • 。。。或者其他关于如何解决这个问题的想法


    见10.14(莫哈韦)和10.15(卡塔利纳)。非常感谢您提供的任何帮助或想法。

    问题似乎与在WKWebView上使用约束有关。如果您有自动布局视图和WKWebView,则关闭约束将修复inspector渲染。在我的应用程序中,UI只是一个大的浏览器窗口,因此我可以关闭视图的自动布局,添加弹簧和支柱,所有内容都可以正确渲染


    我讨厌回答我自己的问题,但是…

    需要更多信息-它在检查所有web内容时会这样做吗?Safari的检查员呢?您是否尝试了一个普通的、未配置的WKWebView,以查看该行为是否仍然存在?你试过把它放在另一个窗口中吗?在一个普通项目中?我试过一个普通项目,但对于所有内容(即使是静态HTML字符串,没有JS内容)都有完全相同的问题。然后突发奇想,在那个项目中毫无限制地尝试了它。效果很好。禁用该视图的自动布局,添加弹簧和支柱,一切正常(无论检查器显示在内部还是外部)。现在我的项目已经修好了。如果没有你的建议,我可能不会在我的项目中尝试,所以谢谢你,@mattsven。很高兴你解决了这个问题!谢谢请接受您的答案,以便更容易找到;-)还应注意,您还可以将webview包装到另一个NSView中,以保留自动布局功能谢谢!对于忘记如何执行此操作的所有其他人:添加带约束的包装器视图,添加WKWebView作为包装器的子视图而不受约束,设置WKWebView的
    框架
    以匹配包装器视图的
    边界
    ,然后设置
    webView.autoresizingMask=[.width,.height]
    wrapperView.autoresizesSubviews=true