UItextField Делегат не работает - PullRequest
4 голосов
/ 23 марта 2012

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

Проблема в том, что когда я использую txt1, который отображает клавиатуру по умолчанию, а затем, когда я касаюсь 2-го текстового поля, клавиатура txt1 остается видимой.

Я также написал [txt1 resignFirstResponder]; [txt2 resignFirstResponder]; во время отображения сборщика.

Я проверил соединение txt1 IBOutlet и назначение делегатов, они кажутся правильными.

Чего мне не хватает?

Ответы [ 6 ]

2 голосов
/ 23 марта 2012
 txt2.userInteractionEnabled = NO;

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if(textField == txt1)
    {
        [txt2 resignFirstResponder];
        // code for Hide Picker 
        return YES;
    }
    else {
       // [txt2 resignFirstResponder];
        [txt1 resignFirstResponder];
        // code for go in picker 
        return YES;
    }
}

для получения дополнительной информации

2 голосов
/ 23 марта 2012

Введите следующий код:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
   if(textField == txt1)
   {
       return YES;
   }
   else
   {
       return NO; // Write the code for displaying UIPickerView instead of the Keyboard.
   }
}

Надеюсь, что это может решить вашу проблему ......

2 голосов
/ 23 марта 2012

Вы должны реализовать ниже метод отставки клавиатуры ......

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
   [textField resignFirstResponder];
   return YES;
}
0 голосов
/ 23 марта 2012

реализовали ли вы свойство делегатов UITextFieldDelegates в заголовочном файле, если не сделали этого, и отметьте

0 голосов
/ 23 марта 2012

В вашем viewDidLoad методе напишите это,

txt2.inputView = pickerView;

и другие resignFirstResponder коды должны быть размещены правильно, при этом при нажатии на txt2 вы получите непосредственно окно выбора вместо клавиатуры.

0 голосов
/ 23 марта 2012

Реализовали ли вы этот метод ??

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
     [textField resignFirstResponder];
     return YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...