Обмен UIViews в и из представления ViewController - PullRequest
0 голосов
/ 25 сентября 2018

Я не совсем новичок в разработке под iOS / Swift, но я в основном работаю над "внутренним" кодом, поэтому мой уровень навыков проектирования / разработки пользовательского интерфейса, к сожалению, не такой, как мне бы хотелось.Имея это в виду, у меня есть макет пользовательского интерфейса (для контроллера представления), который выглядит примерно так:

enter image description here

В этом макете вид помечен«View To Swap» может находиться в одном из трех состояний:

  1. Может быть скрыто (или удалено?), И в этом случае StackView B должен отображаться непосредственно под StackView A
  2. Можетнужно показать (или заменить на?) "Subview A"
  3. Может понадобиться показать (или заменить на?) "Subview B"

И Subview A, и Bбудет иметь кнопку в верхнем правом углу, которая при нажатии должна удалить / скрыть представление «View To Swap».

Я немного читал о представлениях контейнера, и мне интересно,это подход, который я должен использовать здесь, или есть более простой, прямой способ реализовать это?В настоящее время я использую раскадровку и автоматическую компоновку, чтобы определить свой основной вид (вид слева) и ограничения, но я понимаю основы создания пользовательского интерфейса программно, если это облегчает реализацию чего-то подобного?Спасибо за любые предложения!

1 Ответ

0 голосов
/ 25 сентября 2018

Вам нужно вставить 3 основных вида (верхний стек, viewToSwap, нижний стек) внутри вертикали UIStackView с distribution = fillEqually и перехватить viewToSwap как IBOutlet, когда вы хотите скрыть это, сделайте

 self.viewToSwap.isHidden = true

это автоматически свернет его содержимое, и вы можете добавить к нему любое подпредставление (A / B) и не забыть self.viewToSwap.clipsToBounds = true

...