次のコード行を使用すると、ユーザーがテキストビューで入力した内容を検出できることがわかります。ユーザーがUITextFieldに入力したかどうかを検出する
if ([[textView text] isEqualToString:@"")
ユーザーがテキストFIELDに何かを入力したかどうかを検出したいが、これはテキストフィールドでは機能しません。私は何を変えるべきですか?ご協力いただきありがとうございます!
次のコード行を使用すると、ユーザーがテキストビューで入力した内容を検出できることがわかります。ユーザーがUITextFieldに入力したかどうかを検出する
if ([[textView text] isEqualToString:@"")
ユーザーがテキストFIELDに何かを入力したかどうかを検出したいが、これはテキストフィールドでは機能しません。私は何を変えるべきですか?ご協力いただきありがとうございます!
UITextFieldDelegateはこれを見つけるための好ましい方法です。
- (void)textFieldDidBeginEditing:(UITextField *)textField
- ユーザがキーを打つ史上ときに、この方法はあなたを教えてくれます - これが唯一それがファーストレスポンダ/キーフィールドとなっていることを教えてくれる、これはユーザーが値
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
を修正することを保証するものではありません。テキストを変更するには、複数の文字が文字列内にあるか、1つ上のバックスペースか、選択の削除によって文字列が空になります...
- (void)textFieldDidEndEditing:(UITextField *)textField
- これは確認する共通の場所ですフィールド内の値とモデルの値を比較して、編集が行われたかどうかを調べます。フィールドが「キー」状態を放棄したときにのみ呼び出されます。ユーザーがボタンをタップすると、ビュー全体が表示されなくなり、関心のあるフィールドが「キーフィールドには、」テキストの長さの代わりに、内容を確認することができます/ロジック
UITextFieldの内容を取得するには、UITextViewと同じ方法で、「text」プロパティにアクセスします。以下のコードは、テキストフィールドが空でない場合です。
if (![someTextField.text isEqualToString:@""])
{
NSLog(@"someTextField is not empty");
}
また、その詳細については、マニュアルを参照してくださいなど、ユーザーが入力を開始したときに検出するために、UITextFieldのデリゲートを使用してタイピングを停止することができます。
最後に、ここでのUITextFieldのドキュメントへのリンクがあります。 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/doc/uid/TP40006888
私はそれを試しても機能しませんでした。私はテキストビュー(私はそれで遊んでいた)のリンクを忘れて、私は何が起こったかを理解するまで興奮していた。その後、私はテキストフィールドを再リンクし、それは動作しませんでした...また、ユーザーが入力を開始し、すべてを削除することができます...お試しいただきありがとうございます! –
これは、UITextFieldからテキストを取得するための唯一の正しい方法です。それが動作していない場合は、あなたの最後のどこかにエラーがあります。 –
彼らのコール順に慣れるために、関連する実装にブレークポイントを設定するために役立つことができます(第一の方法を参照してください)
if ([[textView text] length]==0)
コロンと括弧が欠けているようですが、それ以外にテキストフィールドでは機能しないのはなぜですか? – Joe
http://stackoverflow.com/questions/7010547/uitextfield-text-change-event変更を検出するのに役立ちます – Dejell