Ios 添加了一个编程不可见的标签
我想在文本字段顶部有一个标签。因此,我正在使用扩展并以编程方式创建标签B,但我无法看到它 延伸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
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