как очистить текстовое поле?
У меня есть вопрос о 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()