Показать ViewController как всплывающее окно с переменной высотой - PullRequest
0 голосов
/ 01 декабря 2018

Я использую собственное всплывающее окно в своем приложении.Это всплывающее окно создается с помощью ViewController с чистым backgroundColor, и я проверяю, что ViewController отображается поверх текущего представления следующим образом:

popupController.modalPresentationStyle = .overCurrentContext

Затем я применяю представление, которое закрывает рамку и имеет backgroundColor черного цвета.с 0,5 альфа.Это позволяет мне создать эффект реального всплывающего окна.Я ограничиваю всплывающее окно снизу с помощью bottomAnchor (но без topAnchor), поэтому все отображается внизу, как я хочу.Теперь во всплывающем окне у пользователя есть два варианта.Всплывающее окно выглядит следующим образом:

popup

Весь ViewController представляет собой UIViewController с ограничениями autoLayout.Первоначальный вид выглядит просто отлично.Однако, если я нажму кнопку, я бы хотел, чтобы содержимое внутри ViewController изменилось, а высота автоматически адаптировалась.

Каков наилучший способ пойти дальше и сделать это?Теперь я попытался скрыть начальное всплывающее окно (popupInitialView.isHidden = true) и показать виды для выбранной опции.Затем я изменяю константу NSLayoutConstraint, которая устанавливается и активируется для topAnchor.

Это просто немного не так.Это хлопотно, чтобы сделать это, и это не похоже на правильный подход.Поэтому мне интересно, как вы, ребята, могли бы реализовать такую ​​функцию.ScrollView и изменить contentOffset.x?UIPageViewController?Что-то еще, что я сейчас упускаю?

Спасибо!

...