У меня есть пользовательский UITextField в моем приложении,
class UnderLinedText: UITextField {
override func layoutSubviews() {
super.layoutSubviews()
let border = CALayer()
let width = CGFloat(1.0)
border.borderColor = UIColor(red:0.21, green:0.13, blue:0.34, alpha:1.00).cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: self.frame.size.height)
border.borderWidth = width
self.layer.addSublayer(border)
self.layer.masksToBounds = true
}
override init(frame: CGRect) {
super.init(frame: frame)
self.textAlignment = .center
self.borderStyle = .none
self.isEnabled = true
self.isUserInteractionEnabled = true
self.font = UIFont(name: "HelveticaNeueLT-Regular", size: 20)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
И я добавил его в мои контроллеры представления, но он не работает (не могу отредактировать его текст)
class CommercialOrder: UIViewController , UITextFieldDelegate{
let bid = UnderLinedText()
override func viewDidLoad() {
super.viewDidLoad()
updateUI()
bid.delegate = self
}
func updateUI(){
self.view.backgroundColor = .white
self.view.addSubview(scrollView)
scrollView.addSubview(contentView)
scrollView.showsVerticalScrollIndicator = false
scrollView.autoPinEdgesToSuperviewSafeArea()
contentView.autoPinEdgesToSuperviewEdges()
contentView.autoMatch(.width, to: .width, of: view)
contentView.addSubview(header)
contentView.addSubview(bid_title)
bid.autoPinEdge(.top, to: .bottom, of: bid_title, withOffset: 10)
bid.autoPinEdge(toSuperviewEdge: .trailing, withInset: 20)
bid.autoPinEdge(toSuperviewEdge: .leading, withInset: 20)
bid.autoSetDimension(.height, toSize: 50)
bid.text = "Reciever mail"
}
Я даже добавлен UITextFieldDelegate make isEnabled и isUserInteractionEnabled , установленный в истинный бит, который все еще не работает
Любая помощь будет высоко ценится