UITextField auto-capitalization type - iPhone App

有没有办法为 UITextField设置 autoCapitalizationType,以便默认情况下每个单词的第一个字母都是大写的?

This Is An Example Of What I Want

81158 次浏览

是的。在 InterfaceBuilder 上,在 textField 属性检查器上,您可以将大写属性设置为 Words。

capitalization属性设置为“ Words”将使用户输入大写字母的 建议。用户可以通过在键盘上取消移位来覆盖这一点。最好的办法就是把代码中的单词大写:

NSString *text = [myTextField.text capitalizedString];

textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

更多信息请阅读: 协议参考

你甚至可以通过故事板或者。十一号文件。只需要选择文本字段,在右边的属性检查器中有一个大写部分,您可以选择任何适合您的。对你来说是大写的“文字”。

有一个答案的 Obj-C,我在这里为斯威夫特;

textField.autocapitalizationType = UITextAutocapitalizationType.words

或者更短的路

textField.autocapitalizationType = .words

我们要做的是设置文本字段的 autocapitalizationType

目标 C:

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords

Swift:

self.textfield.autocapitalizationType = .words

这里有几个选择:

enter image description here

  • allCharacters相当于双击 shift 键,基本上是 Capslock。
  • none是相当不言自明的,键盘永远不会尝试大写字母。
  • sentences将尝试大写下一个单词后结束标点符号。
  • words将尝试大写每个新单词(后一个空格) ,这似乎正是你正在寻找的。

当你选择了合适的文本字段时,也可以从 Interface Builder 的属性检查器中设置这个属性:

enter image description here

“大写”是这个组中的第一个选项,刚刚通过选择文本字段的最小字体大小。

在 Xamarin.ios/Monotouch 中,这对我很有用:

textField.AutocapitalizationType = UITextAutocapitalizationType.Words;