将顶部填充添加到UITextField

时间:2018-03-09 17:32:40

标签: swift uitextfield

我正在尝试将顶部填充添加到文本字段,但找不到任何有用的内容,所有解决方案都是关于我已经知道的左右填充。为了清楚起见,我想让它像下图所示。

注意:我使用标签作为“描述”,我把它放在文本字段中,但标签和输入重叠。

Text Field Design

2 个答案:

答案 0 :(得分:6)

使用customTextField类

class CustomTextField: UITextField {

let padding = UIEdgeInsets(top: 15, left: 0, bottom: 0, right: 0);

override func textRect(forBounds bounds: CGRect) -> CGRect {
    return UIEdgeInsetsInsetRect(bounds, padding)
}

override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
    return UIEdgeInsetsInsetRect(bounds, padding)
}

override func editingRect(forBounds bounds: CGRect) -> CGRect {
    return UIEdgeInsetsInsetRect(bounds, padding)
}
}

答案 1 :(得分:2)

对于Swift 4,您需要调整为

return bounds.inset(by: padding)