1

追加された '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];    
 }
4

3 に答える 3

0

ターゲットは私が推測する自己とアクション:@selector(yourCustomMethod)でなければなりません。

-(void)yourCustomMethod
{
  if(textField.length>0)
     {
       NSLog(@"textField Validated");
     }
}
于 2013-04-06T16:55:02.493 に答える