我有一个可以在数字键盘和字母数字键盘之间切换的文本字段(出于设计原因)。这是代码:

self.tfID.keyboardType = UIKeyboardTypeAlphabet;
[self.tfID reloadInputViews];


问题是,当我从数字键盘切换到字母数字时,即使该字段设置为UITextAutocapitalizationTypeAllCharacters,它也不会自动打开大写字母。我不想通过委托进行此操作,因为如果他们愿意,我仍然希望允许用户输入小写字母。有没有办法做到这一点?

编辑:键入第一个字符后,大写锁定重新打开,因此只有第一个字符是小写字母。

最佳答案

我已经尝试过了,并且有效。如果不立即在文本字段上调用reloadInputViews,而是立即在文本字段上调用resignFirstResponder,然后再调用beginFirstResponder,它将自动为第一个字符再次切换到全部大写。这确实显示了从小写字母键到所有大写字母键的动画,但是它确实实现了您的功能目标,即自动恢复该第一个字符的所有大写字母。

self.tfID.keyboardType = UIKeyboardTypeAlphabet;
[self.tfID resignFirstResponder];
[self.tfID becomeFirstResponder];

09-25 17:33