web-dev-qa-db-ja.com

UITextFieldを切り替えてSwift

登録からログインするために切り替えるときにユーザー名のテキストフィールドを非表示にし、元に戻すときに再び表示しようとしています。 UIをプログラミングしていて、テキストフィールドを非表示にする方法を知りたいのですが、Swiftは初めてで、ユーザー名のテキストフィールドを非表示にするコードを挿入できる場所が2つあると思います。そうでない場合は教えてください、ありがとう!

私が隠そうとしているものの画像。 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
    }()

またはここHeightAnchorChangeで

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

これを使用して、アプリケーション構造に応じてUITextFieldを非表示または表示するタイミングを設定します

この方法でフィールドを作成できますvisible

myTextField.isHidden = false

そしてそれを作るこの方法隠された

myTextField.isHidden = true

11
KSigWyatt

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名

0
Kiran jadhav