javascript - macOS 应用程序中的 WKWebView Web 检查器无法呈现和闪烁/闪烁
问题描述
我为我的 WKWebView 启用了开发人员附加功能,但是当我从下拉列表中选择“检查元素”时,检查器无法正确呈现。它基本上是透明的,Web 视图的下半部分闪烁着闪烁,但从未出现过检查器内容。
我可以将窗口的大小调整为对于检查器来说太小,然后当我检查元素时,检查器会显示为外部窗口,并且一切正常。然而,在每个测试周期中添加一个窗口调整大小/调用检查器/窗口调整大小是相当痛苦的。
可接受的答案可能包括:
- 任何修复 WKWebView 内部检查器中闪烁的方法,
- 用于以编程方式调用外部检查器窗口的 Swift/Objective-C 代码,
- 以编程方式调用外部检查器窗口的 JavaScript 代码
...或有关如何解决此问题的任何其他想法。
见于 10.14 (Mojave) 和 10.15 (Catalina)。非常感谢任何帮助或想法。
解决方案
问题似乎与在 WKWebView 上使用约束有关。如果你有一个自动布局视图和一个 WKWebView,关闭约束可以修复检查器渲染。在我的应用程序中,UI 只是一个大浏览器窗口,因此我可以关闭视图的自动布局,添加弹簧和支柱,一切都可以正确呈现。
我讨厌回答我自己的问题,但是...