滑动 UIPageViewController 时出现的间隙 -- Swift
The gap that appears on swiping UIPageViewController -- Swift
我已经使用 UIPageViewController 为 "modul screens" 创建了一个容器。主要问题是如果设置上一个屏幕尺寸不对。
在屏幕截图上,您可以看到显示的是 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 块不能正常工作。
在我的带有 PageViewController 的容器所在的故事板上,我禁用了选项 Autoresize Subview。并且动画期间的 "gap" 消失了。
但上面的描述并不是解决方案,只是一个线索。
主要问题是屏幕上显示的子标题。我在运行时更改高度限制,这就是为什么 UIPageViewController 不知道屏幕的正确尺寸。
我不得不分开我的屏幕,我做了内屏。我在 UIPageViewController 中使用 UIPageViewController。并且知道动画效果完美。
我已经使用 UIPageViewController 为 "modul screens" 创建了一个容器。主要问题是如果设置上一个屏幕尺寸不对。
在屏幕截图上,您可以看到显示的是 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 块不能正常工作。
在我的带有 PageViewController 的容器所在的故事板上,我禁用了选项 Autoresize Subview。并且动画期间的 "gap" 消失了。
但上面的描述并不是解决方案,只是一个线索。 主要问题是屏幕上显示的子标题。我在运行时更改高度限制,这就是为什么 UIPageViewController 不知道屏幕的正确尺寸。 我不得不分开我的屏幕,我做了内屏。我在 UIPageViewController 中使用 UIPageViewController。并且知道动画效果完美。