Я занимаюсь разработкой приложения, которое использует UIPageViewController.В какой-то момент в подклассе UIPageViewController
я устанавливаю следующий контроллер вида следующим образом:
guard let currentViewController = self.viewControllers?.first else { return }
guard let nextViewController = dataSource?.pageViewController(self, viewControllerAfter: currentViewController) else { return }
self.setViewControllers([nextViewController], direction: .forward, animated: true, completion: { (finished) in
// some finishing work
})
Приложение поддерживает как книжную, так и альбомную ориентацию.Переход к следующему представлению контроллера анимирован.Когда эта анимация начинается, и если после этого начинается изменение ориентации, в конце обеих анимаций вместо следующего будут два частично видимых контроллера вида.
Я предполагаю, что он вычисляет смещение до начала перехода к следующему контроллеру вида, затем запускает анимацию с этим смещением, затем поворачивает и изменяет размеры видов, но не пересчитывает смещение.Или как то так.У кого-нибудь есть идеи, как это исправить или обойти это.