我正在尝试隐藏用户名文本字段,当切换到登录时从寄存器登录并在切换回时再次显示。我正在编写UI,我想知道如何隐藏文本字段,我是swift的新手,我认为有两个地方可以插入代码来隐藏用户名文本字段。如果没有请告诉我,谢谢!
我试图隐藏的图像。
这里是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
根据您的应用程序结构,使用此选项设置隐藏或可见UITextField
的时间
您可以通过这种方式使字段可见:
myTextField.isHidden = false
以这种方式隐藏它:
myTextField.isHidden = true
更新为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名称