iPhone: возможно ли скрыть клавиатуру при нажатии UITextField? - PullRequest
5 голосов
/ 26 декабря 2011

В моем приложении я должен заполнить UITextField из значения, существующего в UIPickerView, а не через клавиатуру.

У меня 2 UITextFields. В первом текстовом поле значение выбирается с клавиатуры а во втором текстовом поле значение выбирается из UIPickerView

так, нажимая 2-е текстовое поле, я хочу скрыть клавиатуру и показать UIPickerView

здесь я добавляю то, что я делаю для вашей лучшей справки

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
      [pickerToolBar setHidden:NO];//shows toolbar
        [pickerTime setHidden:NO];//shows UIPickerView
        [textField resignFirstResponder];
}

но после написания кода выше клавиатура не исчезает.

Если у вас есть идеи, помогите мне, пожалуйста ...

Ответы [ 6 ]

2 голосов
/ 26 декабря 2011

Попробуйте UITextfield делегировать методы.поместите следующий код в метод texfield didBeginEditing.

[texfield resignfirstresonder];

Тогда текстовое поле заблокирует редактирование и клавиатура не появится.Убедитесь, что вы прикрепили делегат текстового поля к владельцу файла.

1 голос
/ 10 января 2014

Эти ответы могут работать, но никто не дал вам лучший ответ; При касании текстового поля вы можете заменить представление клавиатуры на представление uipicker:)

UITextField *field = [[UITextField alloc] init];
field.inputView = [[UIPickerView alloc] init];
1 голос
/ 26 декабря 2011
 UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
 [self.view addGestureRecognizer:gestureRecognizer];
 gestureRecognizer.cancelsTouchesInView = NO;


- (void) hideKeyboard 
{
     [textfieldname1 resignFirstResponder];
     [textfieldname2 resignFirstResponder];
}
1 голос
/ 26 декабря 2011

Попробуйте с редактируемым свойством текстового поля в качестве FALSE или для свойства включения взаимодействия с пользователем false и добавьте одну пользовательскую кнопку с тем же размером вашего текстового поля с событием кнопки открытия представления выбора.

1 голос
/ 26 декабря 2011

Невозможно скрыть клавиатуру, когда фокус находится внутри UITextField ...

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

И если вы выбираете значение из UIPicker, тогда зачем вам нужно нажимать в UITextField, поэтому, если вы не нажимаете в UiTextField, клавиатурабыть показано ...

Ура !!!

0 голосов
/ 26 декабря 2011

Если вы заполняете UITextField на основе UIPicker, почему бы просто не отключить взаимодействие пользователя с UITextField? Вы все еще можете поместить данные туда, и пользователь не сможет их изменить. Однако, чтобы заставить клавиатуру оставаться скрытой, вы можете заставить UITextField обнаруживать, когда к ней прикасались / изменяли / и т. Д., А затем заставлять ее подать в отставку первым респондентом.

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