У меня есть UIPageViewController
, который содержит массив ContentUIViewController
, у них есть прокрутки в них.
Когда прокручивается прокрутка, я хочу распознать это в контроллере представления, который является родителем UIPageViewController
(добавлено как ребенок)
Каков наилучший путь для достижения этой цели?как и в настоящее время, я попытался делегировать didScroll
обратно в модель представления для ContentUIViewController
, а затем передать его в родительский элемент UIPageViewController
, чтобы отрегулировать высоту заголовка, которую я хочу свернуть, но она не работает хорошо / очень хакерская
Есть ли способ прочитать выходные данные делегата в дочернем vc родительском vc, не возвращая его через viewmodels?Это оказывается сложным из-за природы массива UIPageViewController
, а не одного дочернего VC.
Обновлено:
private func generateContentControllers() -> [UIViewController] {
var viewControllers: [UIViewController] = []
viewControllers.append(ScrollableContentViewController(contentViews: infoViews))
viewControllers.append(reviewsVC)
viewControllers.append(ScrollableContentViewController(contentViews: helpViews))
}
return viewControllers
}
Предоставлено через
var scrollingViewControllers: [UIViewController] { get }
Добавленос
if let firstViewController = self.viewModel.scrollingViewControllers.first {
pagingController.setViewControllers([firstViewController], direction: .forward, animated: false)
}