На первом и втором экране у меня есть 2 кнопки, но на третьем экране я должен оставить только одну кнопку, изменить название для нее и положить ее ближе к нижней части представления. Не могу понять, как изменить положение кнопки, если ее ограничения исходят из раскадровки. OrangeButton вверху, whiteButton под ним. Они расположены вертикально. Я использую 3 экземпляра одного и того же VC для отображения этих кнопок. В третьем случае я пытаюсь скрыть whiteButton, который находится под оранжевым, а оранжевая кнопка должна опускаться.

            if index == 2 {
                whiteButton.isHidden = true
                orangeButton.setTitle("Start”, for: .normal)
                //here I have to set new constraints for orangeButton
            } else {
                whiteButton.isHidden = false
                orangeButton.setTitle("Next”, for: .normal)
            }



0
julia117 6 Окт 2021 в 19:27

2 ответа

Лучший ответ

Если вы хотите отрегулировать интервал, чтобы он был равномерным при разном количестве кнопок, представления стека - это потрясающе. Поместите свои кнопки в стек. Установите желаемый интервал между предметами. Скройте те, которые вам не нужны, и представление стека сдвинет оставшиеся элементы, чтобы правильно их расположить.

Если это не то, о чем вы спрашиваете, обновите свой вопрос, чтобы описать, что вы пытаетесь сделать.

0
Duncan C 6 Окт 2021 в 16:43

Вы можете сделать это, сняв предыдущие ограничения.

if index == 2 {
     whiteButton.isHidden = true
     orangeButton.setTitle("Start”, for: .normal)
     orangeButton.removeFromSuperView()
     3rdViewControllerView.addSubView(orangeButton)
     // then set your constraint programatically.
     
} else {
     whiteButton.isHidden = false
     orangeButton.setTitle("Next”, for: .normal)
}
0
Imran0001 6 Окт 2021 в 16:39