быстрое удаление границ TextField - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть текстовое поле в предупреждении.Я настроил его borderStyle так:

textField.borderStyle = .roundedRect

Но есть еще одна прямоугольная рамка вокруг первой, как вы можете видеть:

Я хотел бы удалить его по коду, но я не могу найти никаких вариантов или что делать.

Вот код предупреждения:

private func presentUsernameAlert() {
    let alert = UIAlertController(title: nil, message: "Alors ?", preferredStyle: .alert)
    alert.addTextField(configurationHandler: newUsername)
    alert.addAction(UIAlertAction(title: "Annuler", style: .default, handler: nil))
    alert.addAction(UIAlertAction(title: "Confirmer", style: .default, handler: nil))
    present(alert, animated: true, completion: nil)
}

private func newUsername(textField: UITextField) {
    usernameTextField = textField
    usernameTextField?.borderStyle = .roundedRect
    usernameTextField?.keyboardAppearance = .dark
    usernameTextField?.placeholder = "Nouveau pseudo"
}

тогда яЗвоните presentUsernameAlert()

1 Ответ

0 голосов
/ 30 ноября 2018

Используя это свойство open var textFields: [UITextField]? { get } из AlertViewController, после визуальной отладки я увидел, что нам нужно удалить superView.superView.subView в 0 и изменить фон TextField.superView, чтобы очистить, чтобы устранить проблему.

Попробуйте этот код:

private func presentUsernameAlert() {
    let alert = UIAlertController(title: nil, message: "Alors ?", preferredStyle: .alert)
    alert.addTextField(configurationHandler: newUsername)
    alert.addAction(UIAlertAction(title: "Annuler", style: .default, handler: nil))
    alert.addAction(UIAlertAction(title: "Confirmer", style: .default, handler: nil))
    present(alert, animated: true) {

    }
    if let textFields = alert.textFields {
        if textFields.count > 0{
 textFields[0].superview!.superview!.subviews[0].removeFromSuperview()
            textFields[0].superview!.backgroundColor = UIColor.clear
        }
    }
}

Как это должно выглядеть в итоге:

Alert Textfield with Rounded Borders

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...