Как удалить внешнюю границу UITextField, представленную в UIAlertActionController

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

я пытался

textField.superview?.backgroundColor = UIColor.redColor() textField.superview?.layer.borderColor = UIColor.redColor().CGColor

Настройка цвета фона работает, как и ожидалось, заполняя пространство между текстовым полем и «черной рамкой», но установка borderColor или borderWidth на superview.layer ничего не делает. Любые идеи?


person hidden-username    schedule 30.01.2015    source источник
comment
Почему вы используете UITextField? Должен ли текст быть редактируемым?   -  person CaptJak    schedule 30.01.2015
comment
No не нужно редактировать, но API UIAlertController поддерживает встраивание текстовых полей, а не текстовых представлений или других UIView. Я бы предпочел придерживаться этого, чтобы быть в безопасности. Я пробовал создавать подклассы и использовать текстовое представление, но попытка правильно его позиционировать была довольно хакерской.   -  person hidden-username    schedule 30.01.2015
comment
Почему бы не использовать UILabel? Можете ли вы опубликовать код, в котором вы заполняете UIAlertView текстом?   -  person CaptJak    schedule 30.01.2015
comment
Это не UIAlertView, а UIAlertController   -  person hidden-username    schedule 30.01.2015
comment
Хорошо... отредактируйте свой вопрос и добавьте туда код.   -  person CaptJak    schedule 30.01.2015
comment
Код? Я хочу посмотреть, как ты это делаешь. На ваш вопрос может быть несколько ответов.   -  person CaptJak    schedule 30.01.2015


Ответы (1)


В итоге я создал подкласс UIAlertController.

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    for field in textFields! as [UITextField] {
        field.superview?.superview?.layer.borderWidth = 2
        field.superview?.superview?.layer.borderColor = UIColor.whiteColor().CGColor
    }
}
person hidden-username    schedule 30.01.2015