首页 > 解决方案 > Swift iOS 禁用键盘自动完成和顶部

问题描述

Swift 中有没有办法强制 iOS 键盘没有顶部?通过说顶部,我指的是出现在顶部的自动完成和输入字段切换器工具。

我的一些视图嵌入了运行本地 js 的 webView,我希望 webView 中输入的键盘没有键盘的顶部。如果无法专门为 webView 禁用这些,任何其他方法也应该没问题。

请查看此屏幕截图,以确切了解我在说的是键盘的哪个部分。

在此处输入图像描述

标签: iosswiftvirtual-keyboard

解决方案


每次加载网页时,您可以尝试在 webview 中运行以下 JS

var textFields = document.getElementsByTagName('input');

if (textFields) {
    var i;
    for( i = 0; i < textFields.length; i++) {
        var txtField = textFields[i];
        if(txtField) {
            txtField.setAttribute('autocomplete','off');
            txtField.setAttribute('autocorrect','off');
            txtField.setAttribute('autocapitalize','off');
            txtField.setAttribute('spellcheck','false');
        }
    }
}

另外编写此代码以从键盘隐藏完成按钮附件视图

class CustomWebView: WKWebView {
    var accessoryView: UIView?
    override var inputAccessoryView: UIView? {
        return accessoryView
    }
}

并在需要此功能的地方使用CustomWebView代替 WKWebView。

如果您需要更多帮助,请告诉我。

快乐编码:)


推荐阅读