получить тег UITextField в пользовательских методах

В моем проекте у меня есть 2 UITextFields, один используется для почтового кода, другой используется для номера телефона, поэтому я использовал Keyboard в NumberPad, здесь я использовал UIToolbar для UITextFields для UITextFields значений, но моя проблема заключается в том, что TextField не определить правильные Tags в пользовательских методах для скрытия, Как решить проблему,

enter image description here

и мой код

 - (void)viewDidLoad
{
[super viewDidLoad];
 numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
numberToolbar.items = [NSArray arrayWithObjects:
                       [[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelNumberPad:)],
                       [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
                       [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad:)],
                       nil]; 
}


- (IBAction)cancelNumberPad:(UITextField*)textField {

NSLog(@"The user is typing in text field %d",textField.tag);


if (textField.tag==50) {
    [txtPostalCode resignFirstResponder];
    [email protected]"";
}
else
{
    [txtphoneno resignFirstResponder];

    txtphoneno.text = @"";
}

}

- (IBAction)doneWithNumberPad:(UITextField*)textField {


 NSLog(@"The user is typing in text field %d",textField.tag);


if (textField==txtPostalCode) {
    [txtPostalCode resignFirstResponder];

}
else
{
    [txtphoneno resignFirstResponder];


}
}


-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField.tag==50) {
    textField.inputAccessoryView = numberToolbar;
}
else if

    (textField.tag==5) {
        textField.inputAccessoryView = numberToolbar;
    }
}

в моем консольном отчете

2014-05-03 14:06:23.614 why-Q[2000:60b] The user is typing in text field 0

как получить правильный тег в пользовательских методах

-6
источник поделиться
1 ответ

//yourviewcontroller.h

@interface ViewController : UIViewController
{
 int tag;
}

//yourviewcontroller.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    tag = 0;
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // return NO to disallow editing.
{

    tag = textField.tag;

    return YES;
}
- (IBAction)cancelNumberPad:(UITextField*)textField {

    NSLog(@"The user is typing in text field %d",tag);


}

- (IBAction)doneWithNumberPad:(UITextField*)textField {


    NSLog(@"The user is typing in text field %d",tag);
}
+3
источник

Посмотрите другие вопросы по меткам или Задайте вопрос