UITextField自动大写类型 - iPhone App

Cod*_*Guy 106 uitextfield ios

有没有办法为a设置autocapitalizationType,UITextField以便默认情况下每个单词的首字母大写?

这是我想要的一个例子

Ale*_*gel 227

使用 textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

有关更多信息,请阅读:UITextInputTraits协议参考

  • 确保界面构建器中的键盘设置为默认值.否则它将无法工作 (9认同)
  • 它不起作用,我在Xcode 6 iOS 8 Swift上尝试过.我在代码和界面构建器中做到了,都没有用. (4认同)
  • 如果您将文本转到字段,则无效.在这种情况下,委托文本输入并替换每个单词的第一个字母 (2认同)
  • 还要确保在os设置(设置 - >常规 - >键盘)中启用了自动资本化,iOS设置值会覆盖您在文本字段中设置的任何内容 (2认同)

nhg*_*rif 37

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

Objective-C的:

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords
Run Code Online (Sandbox Code Playgroud)

迅速:

self.textfield.autocapitalizationType = .words
Run Code Online (Sandbox Code Playgroud)

这里有几个选项:

在此输入图像描述

  • allCharacters 与双击shift键相同,基本上是封锁.
  • none 是非常明显的,键盘永远不会尝试大写字母.
  • sentences 将在结束标记标点符号后尝试将下一个单词大写.
  • words 将尝试将每个新单词(在空格之后)大写,这似乎正是您正在寻找的.

如果选择了相应的文本字段,也可以从界面构建器的"属性"检查器中设置此属性:

在此输入图像描述

"大写"是该组中的第一个选项,只是选择了文本字段的最小字体大小.


Eva*_*ski 8

capitalization属性设置为"单词"将建议用户输入大写单词.用户可以通过在键盘上移位来覆盖这一点.最好的办法是将代码中的单词大写:

NSString *text = [myTextField.text capitalizedString];
Run Code Online (Sandbox Code Playgroud)


Mar*_*son 7

是.在InterfaceBuilder上,在textField属性检查器上,您可以将Capitalization属性设置为Words.


Kem*_*nak 6

Obj-C 有一个答案,我是 Swift 的答案;

textField.autocapitalizationType = UITextAutocapitalizationType.words
Run Code Online (Sandbox Code Playgroud)

或更短的方式

textField.autocapitalizationType = .words
Run Code Online (Sandbox Code Playgroud)