несколько UITextFields в одном представлении - PullRequest
2 голосов
/ 24 августа 2010

У меня небольшая проблема с uitextfield. Я использую два из них в представлении, и когда я записываю что-то во второе поле, первая строка также изменяется. Вот мой код

-(BOOL)textFieldShouldReturn:(UITextField *)textField{

textString = textField.text;
NSLog(@"the string1 %@",textString);
[textField resignFirstResponder];


textString2 = textField2.text;
NSLog(@"the string2 %@",textString2);
[textField2 resignFirstResponder];

return YES;}

так что мне нужна помощь.

Ответы [ 2 ]

11 голосов
/ 24 августа 2010

Ваш метод textFieldShouldReturn вызывается для обоих полей, поэтому вам необходимо различать действия для каждого поля.

Установить тег для обоих текстовых полей:

myTextField1.tag = 100;
myTextField2.tag = 101;

и проверьте наличие тега в методе textFieldShouldReturn:

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if(textField.tag == 100)
    {
        textString = textField.text;
    }
    else if(textField.tag == 101)
    {
        textString2 = textField.text;
    }

    [textField resignFirstResponder];
}

Здесь textField - это объект, переданный делегату, то есть тот, по которому вы нажали return.Так что используйте это, а не свой объект IBOutlet.

И, пожалуйста, не называйте ваши текстовые поля textField и textField2, это очень плохая практика кодирования.

Удачи

0 голосов
/ 24 августа 2010

Похоже, что ваш IBOutlets может указывать на тот же объект. Перепроверьте свои соединения в Интерфейсном Разработчике.

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