如何在uiTableViewCell内的uiTextField下画一条线?
Posted
技术标签:
【中文标题】如何在uiTableViewCell内的uiTextField下画一条线?【英文标题】:How to draw a line under uiTextField inside uiTableViewCell? 【发布时间】:2016-09-23 19:54:26 【问题描述】:我正在尝试创建只有底部边框的文本字段。该字段放置在动态单元格内并使用情节提要创建。边框样式设置为无。自动布局已打开。这条线在layoutSubviews()
中绘制。但是,该行没有出现。你能帮我修一下吗?提前谢谢!
代码如下:
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
【问题讨论】:
【参考方案1】:您可以从 Interface Builder 执行此操作。创建具有固定高度 = 1 的 UIView 并提供一些颜色(黑色),确保与文本字段的宽度相等,然后将没有边框的 UITextField 连接到该视图。所以垂直空间文本字段和视图之间的约束 = 0
【讨论】:
以上是关于如何在uiTableViewCell内的uiTextField下画一条线?的主要内容,如果未能解决你的问题,请参考以下文章
使用自定义 UITableViewCell 时在编辑之前更改 UITextField 文本
如何在uiTableViewCell内的uiTextField下画一条线?
如何动态调整 UITableViewCell 内的两个文本标签宽度?