0
私はテキストフィールドの上にlableを持っています。だから、私は拡張子を使用して、programablebのlableを作成していますが、私はそれを見ることができません。プログラムで表示されないlableを追加しました
拡張
extension UITextField{
func addPlaceHolder(mainView: UIView, placeHolderText: String) -> UILabel {
let label = UILabel()
label.text = placeHolderText
label.font = label.font.withSize(14)
label.textColor = Colors.hintColor
label.translatesAutoresizingMaskIntoConstraints=false
mainView.addSubview(label)
var leadingAnchorConst: NSLayoutConstraint?
var centerConst: NSLayoutConstraint?
if #available(iOS 9.0, *) {
leadingAnchorConst = label.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant:10)
} else {
// Fallback on earlier versions
}
if #available(iOS 9.0, *) {
centerConst = label.centerYAnchor.constraint(equalTo: self.centerYAnchor)
} else {
// Fallback on earlier versions
}
NSLayoutConstraint.activate([leadingAnchorConst!, centerConst!])
return label
}
}
のViewController
class Test:UIViewController{
viewDidLoad(){
emailPH = tfEmail.addPlaceHolder(mainView: self.view, placeHolderText: "Email")
passwordPH = tfPassword.addPlaceHolder(mainView: self.view, placeHolderText: "Password")
print(passwordPH?.text ?? "")
}
}
あなたはUILabelのフレームサイズについて言及していないと思います....いいえ......ラベル= UILabel(フレーム:CGRect(x:0、y:0、幅:200、高さ:21)) –
これはまだ動作していません –
UILabelの背景色を与えてから、一度チェックしてください –