if else语句使用" .isEmpty"不工作(swift3)

时间:2017-06-27 04:00:09

标签: ios if-statement swift3 textfield is-empty

我有一个使用日期选择器存储日期的文本字段。我有一个textview,我想保持隐藏,直到选择日期。对此我有以下代码。

     import UIKit
class ViewController: UIViewController {
@IBOutlet var label: UILabel!
@IBOutlet var thetextField: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()
    label.isHidden = thetextField.text!.isEmpty
     }
func textFieldDidEndEditing(_ textField: UITextField) {
    label.isHidden = textField.text!.isEmpty
}}

1 个答案:

答案 0 :(得分:2)

这是因为您只检查isEmpty属性一次。您需要的是使用delegate

textField方法检查此属性
func textFieldDidEndEditing(_ textField: UITextField) {
    if textField.text.isEmpty {
        enterName.isHidden = true
    } else {
        enterName.isHidden = false
    }
}

修改

您的代码将如下所示

import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet var label: UILabel!
    @IBOutlet var thetextField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        label.isHidden = thetextField.text!.isEmpty
        thetextField.delegate = self
    }

    func textFieldDidEndEditing(_ textField: UITextField) {
        label.isHidden = textField.text!.isEmpty
    }
}