page ios uiviewcontroller ios6 datasource uipageviewcontroller

ios - page view controller



La dirección UIPageViewController solo avanza (1)

Este es el comportamiento que obtienes cuando tu pageViewController tiene su estilo de transición configurado para desplazarse: no estoy seguro de por qué, pero tiene algo que ver con una vista de desplazamiento insertada en la jerarquía en algún lugar (que podría ver asignado si ejecuté mi proyecto con Instruments encendidos). Si la transición es Curl de página, entonces no se muestra ninguna página previa si su devolución es nula en donde lo hace.

Por lo tanto, creo que estás atascado con el uso de setViewControllers: direction: animated: completion: a menos que quieras cambiar a la animación Curl de página.

El objetivo es crear un UIPageViewController que solo pueda avanzar. Estoy usando una fuente de datos para proporcionar el contenido de UIPageViewController. La dirección se establece en UIPageViewControllerNavigationDirectionForward , el estilo de transición es UIPageViewControllerTransitionStyleScroll .

La implementación de

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { // returns the next view controller }

devuelve el siguiente controlador de vista, mientras que lo siguiente debe garantizar que la navegación hacia atrás es imposible

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { return nil; }

La devolución de cero debe indicar que la navegación no es posible (como se indica en la documentación). Sin embargo, siempre puedo desplazarme hacia atrás una página. Digamos que tengo 10 páginas, puedo avanzar por todas las páginas pero en cualquier página puedo retroceder 1 página. (Por ejemplo: en la página 5, puedo volver a la página 4, en la página 8, puedo volver a la página 7, y así sucesivamente).

Sé que puedo evitar esto al no usar una fuente de datos y usar el método setViewControllers: direction: animated: completion: pero me gustaría entender por qué mi intento está fallando.