как очистить текстовое поле?

У меня есть вопрос о TextFiled в swift

как я могу очистить текст в TextFiled, когда я нажимаю на него

my textfiled.text = "0"

я хочу, когда я нажимаю на textfiled удалить номер "0" automatica

import UIKit
class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet var lbltext: UILabel!
    @IBOutlet var scrolview1: UIScrollView!
    @IBOutlet var fi: UITextField!
    @IBOutlet var scrolviewus: UIScrollView!
    @IBOutlet var counterLabel: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        fi.text = "0"
       }

       override func didReceiveMemoryWarning() {
         super.didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
       }

       @IBAction func button(sender: AnyObject) {
        lbltext.numberOfLines = 0
        lbltext.text! = lbltext.text! + "\n" + fi.text! + "\n" + "---  "
    }
 }

Ответы

Ответ 1

Используйте этот метод,

Если вы хотите вручную очистить текстовое поле, используйте этот код:

textField.text = ""

Если вы хотите, чтобы текстовое поле было пустым, когда вы начинаете редактирование, используйте метод делегата:

func textFieldDidBeginEditing(textField: UITextField) {
    textField.text = ""
}

Если вы используете несколько текстовых полей, используйте следующий метод:

func textFieldDidBeginEditing(textField: UITextField) { 
    if (textField == oneTextField) {
       textField.text = ""
    } 
    else if (textField == anotherTextField) {
       // Perform any other operation
    } 
}

Ответ 2

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

func textFieldDidBeginEditing(textField: UITextField) {
    textField.text = ""
}

Ответ 3

func textFieldDidBeginEditing(textField: UITextField)
{
    if fi.text == "0"
    {
        fi.text = ""
    }
}

Ответ 4

Есть несколько способов решить эту проблему, в зависимости от того, что вы ищете. Первый заключается в том, чтобы использовать местозаполнитель вместо того, чтобы устанавливать текст в 0. Заполнитель будет исчезать всякий раз, когда пользователь начинает вводить текст и снова появляется, если они ничего не набирают:

fi.placeholder = "0"

если вы хотите, чтобы значение 0 являлось значением, а не просто заполнителем, существует множество встроенных методов для отслеживания редактирования/ввода/возврата /etc текстового поля. Это требует выполнения UITextFieldDelegate, но, похоже, вы уже это сделали.

var isFirstTime = true

override viewDidLoad() {
     super.viewDidLoad()
     fi.delegate = self
}

func textViewDidBeginEditing(textView: UITextView) {
    isFirstTime = false
    if fi.text == "0" {
        fi.text = ""
    }
}

func textViewDidEndEditing(textView: UITextView) {
    if fi.text.isEmpty {
        fi.text = "0"
        isFirstTime = true
    }
}

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

Ответ 5

func textFieldDidBeginEditing(textField: UITextField) {
        fi.text = ""
    }

func textFieldDidEndEdition(textField: UITextField) {

     if fi.text isEqualToString:@"" {
          fi.text = @""
     }

}

Ответ 6

Вы можете легко очистить TextField в Swift

emailTextField.text?.removeAll()
passwordTextField.text?.removeAll()
confirmPasswordTextField.text?.removeAll()