追加された 'Done' UIBarButtonItem が押されたときに UITextField の入力を検証しようとしていますが、そのターゲットが編集中の UITextField に設定されているため、カスタム検証メソッドを呼び出すことができません。これを修正する方法を知っている人はいますか?「resignFirstReponder」をvalidateInput(カスタムメソッド)に置き換えてカスタムメソッドを追加しようとしましたが、ターゲットのtextFieldに呼び出されたメソッドがないため、例外エラーがスローされます。ターゲットを「self」に設定すると、「完了」ボタンが UITextField に追加されません。助けてください。
申し訳ありませんが、コード全体を入れていません。この機能に関するコード全体を次に示します。
- (void) addDoneButton: (UITextField *) textField
{
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:textField action:@selector(resignFirstResponder)];
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
toolbar.items = [NSArray arrayWithObject:barButton];
textField.inputAccessoryView = toolbar;
}
- (void) viewDidLoad{
[super viewDidLoad];
[self addDoneButton:txtBox];
}