3

我有以下代码使第一个字母变为粗体:

  self.firstNameTexField_.autocapitalizationType = UITextAutocapitalizationTypeWords;
    self.lastNameTextField_.autocapitalizationType = UITextAutocapitalizationTypeWords;
    self.emailTextField_.autocapitalizationType = UITextAutocapitalizationTypeWords;

但是,这不会使单词的首字母大写。知道为什么吗?

4

4 回答 4

27

这里没有提到的是某些键盘类型不支持自动大写功能,最值得注意的是:

NamePhonePad指定用于输入人名或电话号码的小键盘。此键盘类型不支持自动大写。

为什么为一个人的名字设计的键盘不支持自动大写是我无法理解的。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextInputTraits_Protocol/index.html#//apple_ref/swift/enum/c:@E@UIKeyboardType

于 2016-04-01T20:33:33.047 回答
14

您是否在计算机键盘上打字时在模拟器中进行测试?当您这样做时,自动大写不适用。如果您在应用程序中点击键盘,您应该会看到所需的效果。

于 2012-10-09T22:58:31.560 回答
2

对我来说,问题是我textField.becomeFirstResponder()在设置autocapitalizationType. 一旦我切换了设置后textField.becomeFirstResponder()顺序,它就会按预期工作。autocapitalizationType

于 2016-05-03T01:48:54.843 回答
0
self.firstNameTexField_.autocapitalizationType = UITextAutocapitalizationTypeWords;

改变

self.firstNameTexField_.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
于 2012-10-10T05:09:01.757 回答