Ios 添加了一个编程不可见的标签

Ios 添加了一个编程不可见的标签,ios,uilabel,extension-methods,Ios,Uilabel,Extension Methods,我想在文本字段顶部有一个标签。因此,我正在使用扩展并以编程方式创建标签B,但我无法看到它 延伸 extension UITextField{ func addPlaceHolder(mainView: UIView, placeHolderText: String) -> UILabel { let label = UILabel() label.text = placeHolderText label.font = label.f

我想在文本字段顶部有一个标签。因此,我正在使用扩展并以编程方式创建标签B,但我无法看到它

延伸

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
    }

}
视图控制器

class Test:UIViewController{

viewDidLoad(){
         emailPH =  tfEmail.addPlaceHolder(mainView: self.view, placeHolderText: "Email")
        passwordPH = tfPassword.addPlaceHolder(mainView: self.view, placeHolderText: "Password")
        print(passwordPH?.text ?? "")
}


}

请检查一下这个代码

 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
请尝试以下代码:

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
}

}

我想你忘了提到UILabel的框架尺寸了……比如。。。。。。让label=UILabelframe:CGRectx:0,y:0,宽度:200,高度:21ya这仍然不起作用。请为UILabel提供背景色,然后检查问题是否存在于if availableiOS 9.0,*{leadingAnchorConst=label.leadingAnchor.constraintequalTo:self.leadingAnchor,常量:10}其他{//Fallback on Previous versions}如果9.0可用,*{centerConst=label.centerYAnchor.constraintequalTo:self.centerYAnchor}否则{//Fallback on Previous versions}NSLayoutConstraint.激活[leadingAnchorConst!,centerConst!]linecheck label.textColor=Colors.hintColor