Добавление кнопки «Очистить» на iPhone UITextField

Как вы добавляете эту маленькую кнопку «X» в правой части UITextField, которая очищает текст? Я не могу найти атрибут для добавления этого субконтроля в Interface Builder в iPhone OS 2.2 SDK.

Примечание. В Xcode 4.x и более поздних версиях (iPhone 3.0 SDK и более поздних версиях) вы можете сделать это в Interface Builder.

Эта кнопка представляет собой встроенный оверлей, который предоставляется классом UITextField, но с iPhone OS 2.2 SDK нет никакого способа установить его через Interface Builder. Вы должны включить его программно.

Добавьте эту строку кода где-нибудь (viewDidLoad, например):

myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

UPDATE: последняя версия Xcode IB поддерживает это свойство.

Вы также можете установить это прямо из Interface Builder в Инспекторе атрибутов.

введите описание изображения здесь

Взято из XCode 5.1

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

 UIButton *clearButton = [UIButton buttonWithType:UIButtonTypeCustom]; [clearButton setImage:img forState:UIControlStateNormal]; [clearButton setFrame:frame]; [clearButton addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside]; textField.rightViewMode = UITextFieldViewModeAlways; //can be changed to UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing [textField setRightView:clearButton]; 

Swift 3:

 textField.clearButtonMode = UITextFieldViewMode.WhileEditing 

или даже короче:

 textField.clearButtonMode = .whileEditing 

Цель C:

 self.txtUserNameTextfield.myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

Быстро:

 txtUserNameTextfield.clearButtonMode = UITextFieldViewMode.WhileEditing; 

На Xcode 8 (8A218a):

Swift:

 textField.clearButtonMode = UITextFieldViewMode.whileEditing; 

«W» перешел от капитала к не-колпаку «w».

это не работает, делай, как я:

скоро:

 customTextField.clearButtonMode = UITextFieldViewMode.Always customTextField.clearsOnBeginEditing = true; func textFieldShouldClear(textField: UITextField) -> Bool { return true } 

В Xcode версии 8.1 (8B62) это можно сделать непосредственно в Attributes Inspector. Выберите textField, а затем выберите соответствующую опцию из раскрывающегося списка Кнопка Clear, который находится в Attributes Inspector.

  • Как разрешить только определенный набор чисел в UITextfield в swift 2.0
  • Текст UITextField сдвигается влево на 1px при редактировании
  • textFieldDidBeginEditing func не вызывается при нажатии на текстовое поле
  • Держите клавиатуру всегда сверху и видимой
  • iPhone - клавиша клавиатуры
  • Вызов sizeToFit на UITextField после изменения шрифта не работает должным образом на iOS 7.1
  • UITextField подкласса messing adjustFontSizeToWidth
  • Как сохранить 2 разных шрифта в одном UITextField или UITextView?
  • Установите цвет поля UITextfield на основе числового значения, используя оператор If в Objective-C
  • Отказ от первого ответчика для нескольких UITextFields
  • UILongPressGestureRecognizer не работает с UITextField
  • Interesting Posts
    Давайте будем гением компьютера.