UITextField 的安全文本输入和自动更正之间的交互是啥?
Posted
技术标签:
【中文标题】UITextField 的安全文本输入和自动更正之间的交互是啥?【英文标题】:What is the interaction between Secure Text Entry and Autocorrection for a UITextField?UITextField 的安全文本输入和自动更正之间的交互是什么? 【发布时间】:2012-11-09 14:51:00 【问题描述】:在 ios 应用程序中使用 UITextField
时,我可以将安全文本输入设置为 YES
,这将隐藏除最后一个输入字段之外的所有字符。不过,我也可以同时启用自动更正。
有谁知道在这种情况下会发生什么?如果我的密码是“bananas”并且我开始在字段中输入它,那么如果它也将被自动更正,那么隐藏文本是没有帮助的。
【问题讨论】:
虽然这是一个有趣的思想实验——你不应该明确地禁用它吗?以及大写等。 如果我正在编写代码,我会 - 我不是。我正在审查别人的代码,如果不是问题,我不想为他们工作。 【参考方案1】:正如@Michael Kernahan 所说,这是一个有趣的思想实验。我以前从未考虑过,但为了确定我对字段不会自动更正的预感是正确的,我创建了一个小型 Xcode 项目来测试这个概念。
在 IB 中创建(诚然粗糙的)界面后,我使用默认的 omw
自动更正来测试该字段作为控件。没有专门在字段上启用自动更正,就会发生自动更正。
我通过调用将字段设置为安全
[secureTextField setSecureTextEntry:YES];
并再次运行测试。测试失败,该字段没有自动更正。
最后,正如您在问题中所描述的,我将安全文本字段的 autoCorrectionType
设置为 UITextAutocorrectionTypeYes
并且测试再次失败。
为了更简要地回答您的问题,根据这些测试设置 UITextField
以获取安全输入会禁用字段的自动更正属性,无论它们是否显式启用(如预期和应该是这样)。
【讨论】:
以上是关于UITextField 的安全文本输入和自动更正之间的交互是啥?的主要内容,如果未能解决你的问题,请参考以下文章
自动更正文本时,UITextField 未调用 editorChanged 事件
UIKeyboardTypeNumbersAndPunctuation 在具有安全文本输入的 UITextField 上被忽略