Table of Contents
ボタンを押すと、UITextField に入力した文字列(パスワード)を伏字(黒い丸で文字がわからないようにする)にしたり平文に戻したりできるサンプルです。
UITextField の入力を伏字にする
UITextField の入力を伏字にするには、プロパティ isSecureTextEntry を true にします。
let textField = UITextField() textField.isSecureTextEntry = true
これだけでテキストフィールドに入力した文字列を伏字にできます。isSecureTextEntry を false にすれば平文表示に戻ります。
切り替えるサンプルソースコード
ボタンを押してパスワードの表示を平文と伏字で切り替えられるテキストフィールドのサンプルです。ボタンを押した時に、Bool値を逆転させることで切り替えを実現しています。
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
var passwordTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// テキストフィールドを作る
passwordTextField = UITextField()
passwordTextField.delegate = self
passwordTextField.frame = CGRect(x: 8, y: 96, width: self.view.frame.width - 16, height: 48)
passwordTextField.isSecureTextEntry = true
passwordTextField.placeholder = "パスワード"
self.view.addSubview(passwordTextField)
// 切り替えボタン
let button = UIButton(type: .system)
button.setTitle("伏字/平文", for: .normal)
button.addTarget(self, action: #selector(self.switchPasswordText(_:)), for: .touchUpInside)
button.sizeToFit()
button.center = self.view.center
self.view.addSubview(button)
}
// 伏字と平文を切り替える
func switchPasswordText(_ sender: UIButton) {
passwordTextField.isSecureTextEntry = !passwordTextField.isSecureTextEntry
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// 改行ボタンでキーボードを隠す
textField.resignFirstResponder()
return true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
実行結果
まず、適当な文字列をテキストフィールドに書き込みます。
その後「伏字/平文」ボタンを押すと、文字列の表示が切り替わります。
以上で、パスワードの表示を切り替えられる UITextField が作れました。


