Как создать UITextField со встроенной ошибкой проверки?IOS

Программируем под IOS
Ответить
Anonymous
 Как создать UITextField со встроенной ошибкой проверки?

Сообщение Anonymous »

Я пытаюсь создать собственный UITextField, который отображает ошибку проверки под текстовым полем, как в материальном дизайне. Я лениво добавляю UILabel и ограничиваю текстовое поле, когда сообщаю об ошибке

Код: Выделить всё

    private lazy var errorLabel: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 14, weight: .bold)
label.textColor = errorColor
label.numberOfLines = 0
label.isHidden = true
return label
}()

open override func didMoveToSuperview() {
super.didMoveToSuperview()

// Make sure that errorLabel is added once to the superview, not to the text field itself
if let superview = superview, errorLabel.superview == nil {
superview.addSubview(errorLabel)
configureErrorLabelConstraints()
}
}

private func configureErrorLabelConstraints() {
errorLabel.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
errorLabel.topAnchor.constraint(equalTo: self.bottomAnchor, constant: 5),
errorLabel.leadingAnchor.constraint(equalTo: self.leadingAnchor),
errorLabel.trailingAnchor.constraint(equalTo: self.trailingAnchor)
])

public func showInlineValidationError(message: String) {
errorLabel.textColor = errorColor
layer.borderColor = errorColor.cgColor
errorLabel.text = message
errorLabel.isHidden = false
}

public func hideInlineValidationError() {
layer.borderColor = borderColor.cgColor
errorLabel.isHidden = true
}
}
Все это прекрасно работает. Моя проблема в том, что, скажем, у меня есть UIImage, ограниченный на 12 пунктов ниже пользовательского текстового поля, когда отображается метка, она не перемещает изображение вниз на высоту метки, а скорее уменьшает пространство между ними. Я хочу, чтобы если метка отображалась, ограничение между текстовым полем и изображением увеличивалось на величину дополнительной высоты, которую занимает метка. Как я могу это сделать? ИИ совершенно не помог мне в том, что я мог бы сделать здесь.
Я открыт для сторонней библиотеки, если она достаточно проста. Мне просто нужно базовое поле UITextfield с закругленными углами и меткой ошибки ниже, которая может удовлетворить мои требования к изменению высоты

Подробнее здесь: https://stackoverflow.com/questions/783 ... tion-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»