ios - Swift iOS 禁用键盘自动完成和顶部
问题描述
Swift 中有没有办法强制 iOS 键盘没有顶部?通过说顶部,我指的是出现在顶部的自动完成和输入字段切换器工具。
我的一些视图嵌入了运行本地 js 的 webView,我希望 webView 中输入的键盘没有键盘的顶部。如果无法专门为 webView 禁用这些,任何其他方法也应该没问题。
请查看此屏幕截图,以确切了解我在说的是键盘的哪个部分。
解决方案
每次加载网页时,您可以尝试在 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。
如果您需要更多帮助,请告诉我。
快乐编码:)
推荐阅读
- react-native - 如何在 mac 上卸载 react-native-cli?
- android - 是否可以同时使用 MIC、CAMCORDER 和加速度计进行录制?
- excel - 如何以编程方式在 Excel VBA 中移动或调整验证消息框的大小
- ldap - Spring Data LDAP 通常用于绑定身份验证吗?
- reactjs - 如何通过故事书传递我的组件主题?
- sql - 使用 R 在 Teradata 中进行选择时出错
- ruby-on-rails - 运行多个线程的红宝石安全方法
- html - 我想要没有容器流体但不改变容器宽度和结构的完整 div?
- unetstack - 如何使用 UnetStack 中的代理从路由表中删除路由条目
- javascript - 在开玩笑测试中等待 Promise.all