Как перейти от одного textFields к следующему textField на кнопке tabBar - PullRequest
3 голосов
/ 30 января 2011

В моем приложении для iPhone у меня есть 6 textFields и tabBar (с 3 кнопками Next, Previous, Done).

Все, что мне нужно сделать, это когда я нажимаю на следующую кнопку, фокус должен перейти от первого textField к следующему textField.

На IBAction следующей кнопки я пишу следующий код:

if ([txt1 isFirstResponder]==YES) {

    NSLog(@"TXT1");

    [txt1 resignFirstResponder];

    [txt2 becomeFirstResponder];

}
else if ([txt2 isFirstResponder]==YES) {

    [txt2 resignFirstResponder];

    [txt3 becomeFirstResponder];

}
else  if ([txt3 isFirstResponder]==YES) {

    [txt3 resignFirstResponder];

    [txt4 becomeFirstResponder];

}
else  if ([txt4 isFirstResponder]==YES) {

    [txt4 resignFirstResponder];

    [txt5 becomeFirstResponder];

}
else  if ([txt5 isFirstResponder]==YES) {

    [txt5 resignFirstResponder];

    [txt6 becomeFirstResponder];

}
else  if ([txt6 isFirstResponder]==YES) {

    [txt6 resignFirstResponder];

}

когда я использую этот код, NSLog печатает бесконечное количество раз.

Что можно сделать ??

Ответы [ 3 ]

1 голос
/ 30 января 2011

Упс, это моя ошибка.Я забыл соединить делегата textField с владельцем файлов .. Спасибо, ребята.

1 голос
/ 30 января 2011

Возможно, потому что если txt1 isFirstResponder, вы устанавливаете txt2 в качестве firstResponder, а затем проверяете, является ли txt2 первым респондентом. Вы должны ставить break; в конце каждого if оператора.

0 голосов
/ 30 января 2011

На самом деле, в каждом операторе if вам не нужен resignFirstResponder, так как вы не хотите закрывать клавиатуру каждый раз, когда переходите в другое поле.

Вместо этого оставьте только resignFirstResponder в txt6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...