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 に答える