2012-04-04 10 views
0

私は最初のレスポンダのように数字パッドを持つ複数のtextFieldを使用する必要があるアプリケーションを作っています。ナンバーパッドに追加されるネガティブボタンとして使用する画像を作成しました。現在の応答者を確認しますか?

数字パッドが入力しているtextFieldを確認する方法があるのだろうかと思います。

助けていただけたら幸いです!

答えて

1

潜在的な最初の応答者がすべてUITextFieldsである場合、別の方法は、コントローラクラスをUITextFieldDelegateプロトコルに適合させ、編集を開始する時点で現在編集中のUITextViewへの参照を取得することです。 はあなたの.hであなたのクラスを準拠:

MyController : NSObject <UITextFieldDelegate> //Might often be a UIViewController rather than an NSObject subclass... 

は、プロパティを定義します。

@property (weak, nonatomic) UITextField *editingField; 

次に、あなたの.mに合成:

@synthesize editingField = __editingField 

次に実装:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [self setEditingField:textField]; 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    [self setEditingField:nil]; 
} 

今どのテキストフィールドが最初の応答者であるかを知りたいときはいつでも:

UITextField *firstResponder = [self editingField]; 
0

これらの数が限られている場合は、[textFieldN isFirstResponder]でそれぞれを照会することができます。汎用ユーティリティが必要な場合は、ビュー内の各サブビューを見て、それが最初のレスポンダかどうか、または階層のさらに下にあるサブビューがあるかどうかを確認できます。

関連する問題