Я хочу создать собственное текстовое поле, которое имеет левый правый нижний верхний отступ. Поэтому я использую приведенный ниже код для достижения этого:
class CustomTextField: UITextField {
let padding = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8);
override func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.inset(by: padding)
}
override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
return bounds.inset(by: padding)
}
override func editingRect(forBounds bounds: CGRect) -> CGRect {
return bounds.inset(by: padding)
} }
Я также хочу, чтобы выравнивание текста заполнителя было сверху, а не в центре TF. Я использую ниже код:
textField.contentVerticalAlignment = .top
Однако, когда я попытался установить вертикальное выравнивание с отступом, выравнивание не сработало. Когда я уберу отступ, только тогда он будет работать. Я имел в виду, что он будет работать только один. Как я могу достичь их обоих? Кроме того, возможно ли отображать многострочный текст-заполнитель вместо того, чтобы показывать его в одной строке с точками в конце?