Как изменить видимый контроллер вида в контейнере (например, тот, на который ссылается встроенный сегмент), используя анимацию завивки страницы для перехода между ними.Изменение контроллера видимого вида в контейнере view swift
ответ
два варианта:
UIPageViewController
Вставить UIPageViewController (см документацию here) в containerView. Инициализируйте контроллер просмотра страницы с помощью UIPageViewControllerTransitionStyle.PageCurl
и используйте setViewControllers:direction:animated:completion:
, чтобы установить первый VC в качестве контроллера вида, который в настоящее время встроен в контейнер. Затем используйте тот же метод для переключения на новый VC, который вы хотите отобразить.
Эта опция имеет то преимущество, что обеспечивает переходы на основе жестов из коробки, но UIPageViewController может вводить в заблуждение, поэтому есть немного кривой обучения.
UIView переход
Более простое решение просто использовать UIView
метод transitionFromView:toView:duration:options:completion:
. (см. документы here). Существует возможность использовать переход на странице. Существует небольшое затруднение в том, что ваши два вида управляются другими контроллерами представлений, поэтому вам также необходимо использовать методы контроллера вида addChildViewController:
, didMoveToParentViewController
, willMoveToParentViewController
и removeFromParentViewController
. Это описано в документах here (в разделе «Реализация настраиваемого контроллера просмотра контейнеров»).