上面说明了一切 - 我有一个 UITextField 设置为安全,但希望为用户提供使其不安全的选项(以便他们可以确定他们在私人区域中输入的内容)。但是,假设他们错误地按下了开关,并且想要将其更改回安全模式?那是行不通的。我已经尝试了一切 - 使用 -1 而不是 YES,删除文本然后将其放回去。我对其他想法完全不知所措。 [输入rdar://9781908]
编辑:我相信这个问题在 iOS5 中已经得到解决。
一定是输入焦点问题:当焦点集中时,UITextField 只能更改 ON->OFF。
尝试下一个技巧来切换“关闭”->“打开”:
textField.enabled = NO;
textField.secureTextEntry = YES;
textField.enabled = YES;
[textField becomeFirstResponder];
编辑(dhoerl):在 iOS 9.3 中,我发现这可以工作,但有一个问题。如果您在普通视图中输入 3 个字符,然后切换到安全文本,然后键入一个字符,则 3 个预先存在的字符就会消失。我尝试了各种技巧来清除,然后重置文本,但没有成功。我最终尝试通过剪切和粘贴来控制控件 - 粘贴到新切换到安全模式的效果非常好。所以我在代码中模拟了它,现在一切正常 - 也不需要与响应者一起玩。这是我最终得到的结果:
if textview should go into secure mode and the textfield is not empty {
textField.text = ""
textField.secureTextEntry = true
UIPasteboard.generalPasteboard().string = password
textField.paste(self)
UIPasteboard.generalPasteboard().string = ""
}
我不想做这个粘贴,但如果你想要它无缝,这是我能找到的唯一方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)