gpt4 book ai didi

ios - 滑动 UIPageViewController 时出现的间隙 - Swift

转载 作者:行者123 更新时间:2023-11-30 12:19:28 25 4
gpt4 key购买 nike

我使用 UIPageViewController 创建了一个用于“模块屏幕”的容器。主要问题是如果设置前一屏幕尺寸错误。

enter image description here

在屏幕截图中,您可以看到显示了 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时,就会发生这种情况。我还发现完成 block 无法正常工作。

最佳答案

在带有 PageViewController 的容器所在的 Storyboard上,我禁用了选项自动调整 subview 的大小。动画期间的“间隙”消失了。

但是上面的描述并不是解决方案,只是一个线索。主要问题是屏幕上显示的子标题。我在运行时更改了高度限制,这就是为什么 UIPageViewController 不知道屏幕的正确尺寸。我必须分离我的屏幕,并且我制作了内屏幕。我在UIPageViewController中使用UIPageViewController。众所周知,动画效果非常完美。

关于ios - 滑动 UIPageViewController 时出现的间隙 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44973910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com