テキストフィールドごとに元に戻るとやり直しを設定しようとしていますが、どのテキストフィールドがファーストレスポンダーであるかを判断する方法がわかりません。
ツールバーのボタンによって呼び出されるメソッドに渡すことができる引数はありますか、それともいくつかの凝ったフットワークを行う必要がありますか?
これはアイデアです:
viewController
がそれぞれの代理人になると、それぞれtextField
の値が変更されたときviewController
に通知が届くか、ファーストレスポンダーになります。textField
委任を採用するには、次のことを行います。
@interface MyViewController : UIViewController <UITextFieldDelegate>
@end
@implementation
- (void)someMethod{
// for a series of textfields
myTextfield1.delegate = self;
myTextfield1.delegate = self;
// or you hook the delegate in IB
}
// then you get notified
- (void)textFieldDidBeginEditing:(UITextField *)textField {
// textField here that gets passed in as an argument is the first responder
// if you have, let's say tag number for each
NSInteger activeTextFieldTag = textField.tag;
}
@end
UITextFieldDelegateプロトコルへの参照は次のとおりです