Я пытаюсь создать текстовое поле только с нижней границей. Поле помещается внутри динамической ячейки и создается с помощью раскадровки. Стиль рамки установлен в None. Автоматическая компоновка включена. Линия рисуется в layoutSubviews()
. Однако строка не отображается. Не могли бы вы помочь мне исправить это? Thx заранее!Как нарисовать линию под uiTextField внутри uiTableViewCell?
Вот код:
extension UITextField {
func drawUnderline() {
let underline = CALayer()
let underlineWidth = CGFloat(1.0)
underline.borderColor = UIColor.black.cgColor
underline.frame = CGRect(x: 0, y: self.frame.size.height - underlineWidth, width: self.frame.size.width, height: self.frame.size.height)
underline.borderWidth = underlineWidth
self.layer.addSublayer(underline)
self.layer.masksToBounds = true
}
}
class TextFieldTableViewCell: UITableViewCell {
@IBOutlet weak var editTextField: UITextField!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
override func layoutSubviews() {
super.layoutSubviews()
self.editTextField.drawUnderline() // The line is drawn here
}
}