我对swift
中的TextFiled有疑问如何在单击时清除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" + "--- "
}
}
答案 0 :(得分:27)
使用此方法,
如果要手动清除文本字段,请使用以下代码:
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
}
}
答案 1 :(得分:5)
只需使用textFieldDidBeginEditing
方法来处理焦点更改和清除文本。
func textFieldDidBeginEditing(textField: UITextField) {
textField.text = ""
}
答案 2 :(得分:3)
func textFieldDidBeginEditing(textField: UITextField)
{
if fi.text == "0"
{
fi.text = ""
}
}
答案 3 :(得分:2)
有两种方法可以解决此问题,具体取决于您所寻找的内容。第一种是使用占位符而不是将文本设置为0.占位符将在用户开始键入时消失,如果他们没有输入任何内容则重新出现:
fi.placeholder = "0"
如果您希望0为值而不仅仅是占位符,则有许多内置方法可以跟踪文本字段的编辑/输入/返回等。这确实需要实现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,则可能会将其删除。
答案 4 :(得分:2)
func textFieldDidBeginEditing(textField: UITextField) {
fi.text = ""
}
func textFieldDidEndEdition(textField: UITextField) {
if fi.text isEqualToString:@"" {
fi.text = @""
}
}
答案 5 :(得分:0)
您可以轻松快速地清除TextField
emailTextField.text?.removeAll()
passwordTextField.text?.removeAll()
confirmPasswordTextField.text?.removeAll()