【发布时间】:2017-12-11 22:29:09
【问题描述】:
我已经使用 UIPageViewController 创建了一个用于“模块屏幕”的容器。如果设置前一个屏幕,主要问题是尺寸错误。
在屏幕截图上,您可以看到显示 2 个屏幕而不是 1 个。
为了设置一个新屏幕,我使用
func launchViewControllerC(vc: USBaseVaultStepViewcontroller,
step: UIPageViewControllerNavigationDirection,
animated: Bool = true) {
vc.delegate = self
self.pageController.setViewControllers([vc],
direction: step,
animated: true,
completion: nil)
}
对于我使用的上一个屏幕:
func launchPreviousScreen() {
guard let previousStep = self.currentSetupStep.previousStep() else {
return
}
guard let previousController = self.setupStepViewControllerForStep(previousStep) else {
return
}
self.currentSetupStep = previousStep
previousController.delegate = self
self.pageController.setViewControllers([previousController],
direction: UIPageViewControllerNavigationDirection.Reverse,
animated: true,
completion: nil)
}
提示:当 setViewControllers 具有动画 true 时会发生这种情况。 我还发现 completion 块不能正常工作。
【问题讨论】:
标签: ios iphone swift storyboard uipageviewcontroller