关于IOS11的“Password Auto Fill”新特性
只有一个文本框UITextfield的页面,默认唤起时键盘会显示三方输入法
图1
此时把UITextfield的textContentType属性设置为username或者password时,再次唤起时,你会发现弹起的键盘右上角有一个钥匙图形,而且会强制禁用三方输入法
图2
图3
关于这个钥匙的使用不是本文讨论的范畴,这里仅仅是想说出现这个钥匙后系统会把这个输入框当做账号或者密码输入框,让你可以从保存的钥匙串里选择账号和密码自动填充。
以上都是正常流程,下面开始踩坑。
此时进行如下设置
图4
再次运行你会发现钥匙没有了
图5
第一个坑:怎么让钥匙符号消失且可以禁止三方输入法?
答案:在“图4”中,必须同时设置图中的两个属性而且keyboardType必须是纯数字键盘(可以带小数点),弹起的键盘右上角的钥匙符号才会消失
接着,直接重新拖一个UITextfield放在最上面,没有做任何设置,之前那个输入框也恢复默认不做任何设置,唤起“第二个输入框”
图6
运行程序可以看到,此时是正常情况
图7
重点来了,第二个坑:两个上下挨着的文本框,当下面的选中SecureTextEntry时且KeyboardType不为纯键盘(包括带小数点)时(图8),唤起上面的文本框,弹出键盘是系统键盘且带钥匙符号!(图9)
图8图9