iphone - Cómo hacer paginación horizontal sin paginación vertical en UIScrollView
uicollectionview horizontal scroll programmatically swift (3)
Desde el punto de vista técnico, no existe una paginación vertical, solo horizontal en este momento para la API estándar. Arriba / abajo está desplazándose, y el desplazamiento a la izquierda / derecha es un poco diferente.
Debería poder deshabilitar el desplazamiento vertical dentro de Interface Builder luego de seleccionar la vista de desplazamiento y editar sus propiedades dentro de la ventana del inspector.
Estoy haciendo cómic digital ahora. Mi aplicación tiene paginación horizontal cuando no se utiliza el zoom. Pero al hacer zoom, la altura de la imagen supera la altura de la pantalla. Entonces la aplicación tiene paginación vertical.
Pero no necesito paginación vertical. Quiero hacer paginación horizontal sin paginación vertical durante el zooiming.
Por favor enséñame.
Puede establecer dinámicamente el pagingEnabled
de pagingEnabled
en NO
cuando el usuario amplía y luego volver a establecerlo en YES
cuando se aleja.
Consulte los documentos de UIScrollViewDelegate
para aprender a detectar el zoom.
Es realmente simple. Como sugirió su amigo, necesitará AL MENOS dos UIScrollView
. Necesitará un UIScrollView
para el horizontal (es decir, paginación), y necesitará un UIScrollView
para cada página. Los puntos clave son (llamémosles scrollHorizontal
y scrollVertical
):
-
scrollHorizontal.frame.height
debe ser igual ascrollHorizontal.contentSize.height
(de lo contrario, terminará con paginación vertical) -
scrollVertical
: primero, tendrá uno de esto para cada página. El ancho del marco ycontentSize.width
deben coincidir y tener sentido por el ancho de una página (en suscrollHorizontal
). Por supuesto, debe tener la altura del marco no ser más quescrollHorizontal.contentSize.height
.
Código de muestra:
UIScrollView scrollHorizontal = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; scrollHorizontal.pagingEnabled = YES; scrollHorizontal.directionalLockEnabled = YES; // not needed but helpful // Now let''s create each page UIScrollView *scrollPage1 = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; [scrollPage1 addSubview:theContentViewForPage1]; scrollPage1.contentSize = CGSizeMake(self.view.bounds.size.width, theContentViewForPage1.bounds.size.height); // Add page to scrollHorizontal [scrollHorizontal addSubview:scrollPage1]; [scrollPage1 release]; //...add more pages (REMEMBER to set the scroll view''s frame.origin.x accordingly for each additional page) // Set the scrollHoriztonal content size scrollView.contentSize = CGSizeMake(self.view.bounds.size.width*NUMBER_OF_PAGES, self.view.bounds.size.height); // Now add the scrollview to self.view; or even self.view = scrollHorizontal, etc.