创建自定义 UITextfield

creating custom UITextfield

如何制作自定义 UITextfield?我创建了 class 并将 uitextfield 作为子 class 然后我添加了它显示的标签,但是边框(UIView)没有显示在这里是代码

import UIKit

class borderedTextField: UITextField{
    let viewz:UIView! = UIView()
    var border:UIView! = UIView()
    var name:UILabel! = UILabel()

    override func draw(_ rect: CGRect) {
        self.addSubview(viewz)
    }

    override func layoutSubviews() {
        backgroundColor = UIColor.green
    }

    func placement(){
        border.frame.size.height = 15
    border.backgroundColor = UIColor.black
    border.translatesAutoresizingMaskIntoConstraints = false
    viewz.addSubview(border)
    border.heightAnchor.constraint(equalToConstant: 15).isActive = true
    border.widthAnchor.constraint(equalToConstant: 100)
    border.leftAnchor.constraint(equalTo: viewz.leftAnchor, constant: 10).isActive = true
    border.bottomAnchor.constraint(equalTo: viewz.bottomAnchor, constant: -5).isActive = true

    name.text = "whatt"
    name.textAlignment = .left
    name.textColor = UIColor.black
    name.translatesAutoresizingMaskIntoConstraints = false
    viewz.addSubview(name)
    name.widthAnchor.constraint(equalToConstant: 100)
    name.heightAnchor.constraint(equalToConstant: 50)
    name.leftAnchor.constraint(equalTo: viewz.leftAnchor, constant: 5).isActive = true
    name.topAnchor.constraint(equalTo: viewz.topAnchor, constant: 10).isActive = true

    }

}

我以编程方式调用它(没有故事板)请让我知道如何在不使用故事板的情况下解决这个问题我需要它是完整的代码。

import UIKit

class signViewController: UIViewController,UITextFieldDelegate {
var animText:borderedTextField!

 override func viewDidLoad() {
        super.viewDidLoad()
       let animText = borderedTextField()
        animText.delegate = self
        animText.placeholder = "click here"
        animText.placement()
        animText.frame = CGRect(x: 100, y: 500, width: 200, height: 90)
        view.addSubview(animText)
 }
}

你必须添加init

override init (frame : CGRect) {
    super.init(frame : frame)
    self.placement()
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.placement()
}

边框宽度也未激活

border.widthAnchor.constraint(equalToConstant: 100).active = true

名字

name.widthAnchor.constraint(equalToConstant: 100).active = true
name.heightAnchor.constraint(equalToConstant: 50).active = true

编辑

border.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 10).isActive = true
border.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: -5).isActive = true