Как уйти в отставку или спрятать клавиатуру?

У меня есть список выбора для выбора дня и текстовое поле для отображения выбранной даты. Это будет так...

альтернативный текст

Если я выберу любую дату, это будет так....

альтернативный текст

Символ креста в текстовом поле определяется кодом....

textField.clearButtonMode=UITextFieldViewModeAlways;

Теперь моя проблема заключается в том, что при нажатии на эту крестовую кнопку отображалась клавиатура. Это как....

альтернативный текст

Но я хочу крестик только для стирания текстового поля. Клавиатура не должна прийти. Является ли это возможным?

4 ответа

Решение

В вашем UITextFieldDelegate реализуйте метод - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField и вернуться NO;

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO;
}

В методе "Редактирование началось" в текстовом поле добавьте следующее:

[UITextField resignFirstResponder];

С этим, эта клавиатура не будет отображаться.

Удачного кодирования:)

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

Как уже говорили другие, вы можете скрыть клавиатуру через протокол UITextFieldDelegate и через [texfField resignFirstResponder] метод. В качестве альтернативы, как предложил vfn, вы можете запретить отображение клавиатуры в целом.

Для этой кнопки, однако, вы молоды, чтобы установить clearButtonMode свойство текстового поля. Чтобы узнать, какие у вас есть доступные варианты, прочитайте это: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html

Другие вопросы по тегам