viewpager tutorial pageviewcontroller page example control ios iphone swift storyboard uipageviewcontroller

ios - pageviewcontroller - swift page view tutorial



El espacio que aparece al deslizar UIPageViewController-Swift (1)

Creé un contenedor para "pantallas de módulo" con UIPageViewController. El principal problema es un tamaño incorrecto si se configura la pantalla anterior.

En la captura de pantalla puede ver que se muestran 2 pantallas en lugar de 1.

Para configurar una nueva pantalla que uso

func launchViewControllerC(vc: USBaseVaultStepViewcontroller, step: UIPageViewControllerNavigationDirection, animated: Bool = true) { vc.delegate = self self.pageController.setViewControllers([vc], direction: step, animated: true, completion: nil) }

y para la pantalla anterior que uso:

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) }

SUGERENCIA : sucede cuando setViewControllers tiene animación real . También descubrí que el bloque de finalización no funciona correctamente.


En un guión gráfico donde se encuentra mi contenedor con PageViewController, he desactivado la opción Autoresize Subview . Y el "espacio" durante la animación desapareció.

Pero la descripción anterior no es solución, solo una pista. El problema principal fue subHeader que se mostró en la pantalla. Estaba cambiando la restricción de altura en el tiempo de ejecución, por eso UIPageViewController no sabía el tamaño correcto de las pantallas. Tuve que separar mis pantallas y he hecho la pantalla interna. Estoy usando UIPageViewController en UIPageViewController . Y para saber la animación funciona perfecto.