Как расширить текстовое поле до полной ширины при нажатии на сегмент? - PullRequest
0 голосов
/ 11 декабря 2019

Мне нужно развернуть текстовое поле «Дата отправления» первого сегмента до полной ширины и скрыть близлежащее текстовое поле «Назад».

Я пытался сделать как здесь Как сделать полноразмерный UITextField в Swift , но ширина текстового поля не изменилась.

startDate.frame.size.width = UIScreen.main.bounds.width

Автовыбор текстового поля

enter image description here

Экраны поведения текстового поля

enter image description here

enter image description here

1 Ответ

1 голос
/ 11 декабря 2019

Во-первых, я думаю, что в текстовом поле есть ненужные ограничения:

  • «Конечный пробел до: Дата окончания» дублируется.
  • Если вы устанавливаете ограничения для ведущего ив конце, нет необходимости добавлять другое ограничение для ширины «Равная ширина: дата окончания».
  • Та же логика, что и выше, поскольку вы уже добавили фиксированное ограничение высоты, добавлять не нужно »Equal Height to: End Date ".

Итак, после исправления (снятия дополнительных ограничений) вам нужно добавить IBOutlets в контроллер представления для ведущих и конечных ограничений, а затемможно изменить значение constant на 0.0.

class ViewController: UIViewController {

    //...

    @IBOutlet weak var dateTextFieldLeading: NSLayoutConstraint!
    @IBOutlet weak var dateTextFieldTrailing: NSLayoutConstraint!

    // call this method when needed
    func expandDateTextFieldWidth() {
        dateTextFieldLeading.constant = 0.0
        dateTextFieldTrailing.constant = 0.0
    }

    //...
}
...