Как подать в отставку или скрыть клавиатуру?


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

текст Alt

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

текст Alt

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

textField.clearButtonMode=UITextFieldViewModeAlways;

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

текст Alt

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

4 ответа:

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

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

В методе textfield 'редактирование действительно началось' добавьте следующее:

[UITextField resignFirstResponder];

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

Счастливое кодирование :)

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

Как уже говорили другие, вы можете скрыть клавиатуру с помощью протокола 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