horizontal iphone uiscrollview paging

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 a scrollHorizontal.contentSize.height (de lo contrario, terminará con paginación vertical)
  • scrollVertical : primero, tendrá uno de esto para cada página. El ancho del marco y contentSize.width deben coincidir y tener sentido por el ancho de una página (en su scrollHorizontal ). Por supuesto, debe tener la altura del marco no ser más que scrollHorizontal.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.