如何清除文字字段?

时间:2016-05-07 04:36:48

标签: ios iphone swift swift2.2

我对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" + "---  "
    }
 }

6 个答案:

答案 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()