2016-09-23 25 views
0

我想創建只有底部邊框的文本字段。該字段放置在動態單元格內並使用故事板創建。邊框樣式設置爲無。自動佈局已打開。該線畫在layoutSubviews()。但是,該行不會出現。你能幫我解決嗎? Thx提前!如何在uiTableViewCell中的uiTextField下畫一條線?

下面是代碼:

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

您可以從界面Builder.Create UIView的固定高度= 1做到這一點,並給予一定的顏色(黑色),請確保等於寬度文本框,剛過將您的UITextField與無邊框連接到該視圖。因此,textfield和view之間的垂直空間約束= 0