WKWebView 迁移问题

WKWebView migration issues

进一步回答我之前的问题

我取得了不错的进步,只有一些未解决的问题需要整理。相对于 UIWebView 的整体性能提升非常突出。

在 UIWebView 中,可以使用

以编程方式将焦点设置在文本字段上
webView.keyboardDisplayRequiresUserAction = NO ;

然而,这在 WKWebView 中不可用,自 2016 年以来,程序员一直在开发一种更新的变通方法(swizzles)来克服这个问题。

我已经尝试实施我在 Stack Overflow 上找到的最新版本,我在

找到了

但是,由于我在 XCode 中的编码经验不足,请有人能确切地告诉我如何将上述解决方案添加到我的项目中。我徒劳地试图找到如何做到这一点的例子我 在 GitHub 或其他地方,但无济于事。

到目前为止,我已尝试将上述答案中提供的代码复制到一个 .m 文件中,并将其添加到我的项目中,但出现了 20 多个错误,然后我为 Foundation 添加了一个 import 语句,其中大部分消失了,但 XCode 抱怨它不知道 class WebViewInjection 是什么。还必须要有相应的头文件吗?。一定要有对应的接口语句吗?如何调用答案中定义的方法? 由于我无法回答任何这些问题,因此我也尝试将该方法添加到我的 ViewController class 中。虽然这没有错误地被接受,但它对我的应用程序没有影响,即。键盘没有自动出现。

我还希望 webview 调整大小以显示在键盘上方,而不是滚动到文本字段所在的位置,因为这对我来说似乎是一个非常混乱的解决方案。

非常感谢收到所有帮助。

我现在已经设法通过添加

来显示键盘
[self allowDisplayingKeyboardWithoutUserAction];

查看DidLoad

我在 ViewController 中保留了 allowDisplayingKeyboardWithoutUserAction 方法声明,但将方法声明前面的 + 更改为 - 并且这似乎有效。

我仍然不知道如何在显示键盘时调整 webview 的大小。