Как уйти в отставку или спрятать клавиатуру? - PullRequest
3 голосов
/ 24 января 2011

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

alt text

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

alt text

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

textField.clearButtonMode=UITextFieldViewModeAlways;

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

alt text

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

Ответы [ 4 ]

3 голосов
/ 24 января 2011

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

[UITextField resignFirstResponder];

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

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

3 голосов
/ 24 января 2011

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

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO;
}
1 голос
/ 24 января 2011

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

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

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

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

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