有没有办法将iPhone键盘设置为所有大写字母而无需通过委托

时间:2015-12-08 19:20:43

标签: ios objective-c iphone keyboard capitalization

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

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

问题在于,当我从小键盘切换到字母数字时,即使该字段设置为UITextAutocapitalizationTypeAllCharacters,它也不会自动打开大写字母。我不想通过委托这样做,因为我想仍然允许用户输入小写字符,如果他们选择这样。有没有办法做到这一点?

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

1 个答案:

答案 0 :(得分:1)

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

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