UITextField自動大文字化タイプ-iPhoneアプリ


112

UITextField各単語の最初の文字がデフォルトで大文字になるようにのautocapitalizationTypeを設定する方法はありますか?

これは私が欲しいものの例です


45
一方、ドキュメントを開いてこれをスキャンするのに1分も無駄にするのではなく、「UITextField大文字」をgoogleにして2秒でポップアップできるのは素晴らしいことです。StackOverflow ISのドキュメント。
Shaun Budhram 2013

1
このような質問時につまずくことは1)人々がコヒーレント直接質問をすることができることが私を幸せに(何のスコープは関係ありません)と2)人は最高のS ***コメント
ウィル・フォン・ウルリッヒ

回答:


237

使用する textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

詳しくは、UITextInputTraitsプロトコルリファレンスをご覧ください。


2
テキストをフィールドに貼り付けても役に立ちません。この場合、テキスト入力を委任し、各単語の最初の文字を置き換えます
HotJard

HotJardについてもう少し詳しく説明しませんか?テキストを貼り付けて大文字にする方法を教えてください。
vnchopra 2014

5
動作しません。Xcode6 iOS 8 Swiftで試しました。コードとインターフェイスビルダーでそれを行いましたが、どちらも機能しません。
Van Du Tran

10
インターフェイスビルダーのキーボードがデフォルトに設定されていることを確認します。それ以外の場合は機能しません
OscarVGG 2015

3
また、os設定(settings-> general-> keyboard)で自動大文字化が有効になっていることを確認してください。iOS設定値は、テキストフィールドに設定したものを上書きします
Lope

38

私たちがしたいことは、テキストフィールドのを設定することですautocapitalizationType

Objective-C:

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords

迅速:

self.textfield.autocapitalizationType = .words

ここにはいくつかのオプションがあります:

ここに画像の説明を入力してください

  • allCharacters Shiftキーをダブルタップするのと同じです。基本的にはCapslockです。
  • none かなり自明ですが、キーボードは文字を大文字にしようとしません。
  • sentences 終了マークの句読点の後、次の単語を大文字にしようとします。
  • words (スペースの後の)すべての新しい単語を大文字にしようとしますが、これはまさにあなたが探しているもののようです。

このプロパティは、適切なテキストフィールドを選択したときに、インターフェイスビルダーの属性インスペクターからも設定できます。

ここに画像の説明を入力してください

「Capitalization」はこのグループの最初のオプションで、テキストフィールドの最小フォントサイズを選択するだけで渡されます。


8

capitalizationプロパティを「Words」に設定すると、ユーザーが大文字の単語を入力するように提案されます。これは、ユーザーがキーボードのシフトを解除することでオーバーライドできます。最善の方法は、コード内の単語を大文字にすることです。

NSString *text = [myTextField.text capitalizedString];

これは文字列全体を大文字にします。UITextAutocapitalizationTypeWordsは入力された各単語の最初の文字を大文字にします。
ジェイコブ

これはOPが望んだものではありませんが、本当に便利だと思いました!NSStringをどこかに保存しましたが、すべて大文字でした。UITextFieldのテキストを元の文字列と比較する必要があり、推奨事項を使用することで、ユーザーに説明する必要がなくなりました(Objective cにすべての作業を
任せ

7

はい。InterfaceBuilderのtextField属性インスペクターで、CapitalizationプロパティをWordsに設定できます。


6

Obj-Cには答えがあります。Swiftの場合はこちらです。

textField.autocapitalizationType = UITextAutocapitalizationType.words

またはより短い方法

textField.autocapitalizationType = .words

.wordsと.allCharactersをテストしました。シミュレータ上では、動作します。接続されたiPhone Xでは、そうではありません。Xcode 10.1、iPhone 12.1
geohei

1
設定->一般->自動修正/自動大文字化がオフになっていると動作しません。
Sheetal Shinde

1

ストーリーボードまたは.xibファイルを作成することもできます。テキストフィールドを選択するだけで、右側の属性インスペクターに大文字のセクションがあり、ここで適切なものを選択できます。あなたの場合、それは大文字の「単語」です。


0

Xamarin.ios / Monotouchでは、これは私にとってはうまくいきました:

textField.AutocapitalizationType = UITextAutocapitalizationType.Words;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.