2017-07-11 13 views
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 ?? "") 
} 


} 
+0

あなたはUILabelのフレームサイズについて言及していないと思います....いいえ......ラベル= UILabel(フレーム:CGRect(x:0、y:0、幅:200、高さ:21)) –

+0

これはまだ動作していません –

+0

UILabelの背景色を与えてから、一度チェックしてください –

答えて

0

このコードを試してみてください。このコード一度

let codedLabel:UILabel = UILabel() 
codedLabel.frame = CGRect(x: 100, y: 100, width: 200, height: 200) 
codedLabel.textAlignment = .center 
codedLabel.text = alertText 
codedLabel.numberOfLines=1 
codedLabel.textColor=UIColor.red 
codedLabel.font=UIFont.systemFont(ofSize: 22) 
codedLabel.backgroundColor=UIColor.lightGray 

self.contentView.addSubview(codedLabel) 
codedLabel.translatesAutoresizingMaskIntoConstraints = false 
codedLabel.heightAnchor.constraint(equalToConstant: 200).isActive = true 
codedLabel.widthAnchor.constraint(equalToConstant: 200).isActive = true 
codedLabel.centerXAnchor.constraint(equalTo: 
codedLabel.superview!.centerXAnchor).isActive = true 
codedLabel.centerYAnchor.constraint(equalTo: 
codedLabel.superview!.centerYAnchor).isActive = true 
0

を確認してください:

extension UITextField{ 

func addPlaceHolder(mainView: UIView, placeHolderText: String) -> UILabel { 
    let label = UILabel() 
    label.text = placeHolderText 
    label.font = label.font.withSize(14) 
    label.textColor = UIColor.black 
    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 
} 

} 
関連する問題