切换UITextField以在Swift

时间:2016-10-11 16:15:20

标签: ios swift uitextfield show-hide

我试图在切换到登录时隐藏用户名文本字段,并在切换回来时再次显示。我正在编写UI,我想知道如何隐藏文本字段,我是swift的新手,我认为有两个地方可以插入代码来隐藏用户名文本字段。如果没有,请告诉我,谢谢!

我想隐藏的图片。 Username Textfield Still Showing when login is toggled

这里是UISegmentedControl

lazy var loginRegisterSegmentControl: UISegmentedControl = {
        let sc = UISegmentedControl(items: ["Login", "Register"])
        sc.translatesAutoresizingMaskIntoConstraints = false
        sc.tintColor = UIColor.white
        sc.selectedSegmentIndex = 1
        sc.addTarget(self, action: #selector(handleLoginRegisterChange), for: .valueChanged)
        return sc
    }()

或者在HeightAnchor Change

nameTextFieldHeightAnchor?.isActive = false
        nameTextFieldHeightAnchor = nameTextField.heightAnchor.constraint(equalTo: inputContainerView.heightAnchor, multiplier: loginRegisterSegmentControl.selectedSegmentIndex == 0 ? 0 : 1/3)
        nameTextFieldHeightAnchor?.isActive = true

2 个答案:

答案 0 :(得分:9)

根据您的应用程序结构,使用此选项设置隐藏或可见UITextField的时间

您可以通过这种方式将字段显示为

myTextField.isHidden = false

以这种方式使其隐藏

myTextField.isHidden = true

答案 1 :(得分:0)

  

已针对Swift进行了更新:

在下面的简单代码中使用:

// UIButtonOutlet

@IBOutlet var confirmPassTextField: UITextField!
@IBOutlet var confirmPassButton: UIButton!

// IBAction方法

@IBAction func actionOnConfirmButton(_ sender: Any) {
    if (confirmPassTextField.isSecureTextEntry == true){
        confirmPassTextField.isSecureTextEntry = false
        confirmPassButton.setImage(UIImage(named: "show_pass"), for: .normal)
    }else{
        confirmPassButton.setImage(UIImage(named: "hide_pass"), for: .normal)
        confirmPassTextField.isSecureTextEntry = true
    }
}

注意:“ show_pass”和“ hide_pass”-UIImage名称