如何为特定的textField预选Caps Lock?

时间:2016-08-24 16:06:30

标签: swift keyboard uikeyboard

当我开始输入时,我希望在键盘上预先选择CapsLock,所以我只需在Caps lock中键入所有内容。

2 个答案:

答案 0 :(得分:4)

来自Apple docs

  

UITextInputTraits协议定义与键盘输入文本对象相关的功能。对于支持键盘输入的自定义文本对象,必须采用此协议才能与文本输入管理系统正确交互。 UITextField和UITextView类自动支持该协议。

基于文本的视图的自动大写行为。与autocapitalizationType属性一起使用。

enum UITextAutocapitalizationType : Int {
case None
case Words
case Sentences
case AllCharacters
}

您可以通过以下方式实现所有字符的自动大写:

textField.autocapitalizationType = .allCharacters

答案 1 :(得分:2)

如果您希望字母始终在textField上大写,即使用户切换了键盘上的Caps Lock按钮,您也可以使用UITextFieldDelegate的textFieldDidChange方法并将文本设置为始终大写,如下所示:

func textFieldDidChange(_ textField: UITextField) {
      textField.text = textField.text?.uppercased()
 }