He buscado y buscado un tutorial para esto, pero ninguno de ellos es lo que estoy buscando. Probé la muestra de Apple, pero solo son colores y no sé cómo hacerla. Todo lo que busco es una pantalla que muestre la página mientras muestra el control de la página. Cada vez que las páginas de vista de desplazamiento quiero que muestre una vista completamente diferente. No hay texto o imágenes diferentes, pero una vista diferente. Muy similar a la pantalla de inicio de la aplicación iPhone o ESPN Scorecenter. ¡Por favor ayuda! Gracias.¿Cómo se combina UIScrollview con UIPagecontrol para mostrar diferentes vistas?
Respuesta
Hay una pregunta relacionada: How do I use UIPageControl to create multiple views?, una muy buena manera de hacerlo que se explica en esta publicación de blog: http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html.
Pruebe este marco: https://github.com/AdrianFlorian/AFImageViewer para presentar imágenes en una vista de desplazamiento utilizando un control de página para indicar la página actual.
No he agregado documentación todavía, pero puede ver ejemplos si clona el proyecto.
servicio le permite: - imágenes se descargan de Internet en un hilo separado por sólo dan una serie de URL (URL de imágenes) - dan una serie de UIImage objetos - implementar un delegado y gestionar la imagen para cada página usted mismo
Creé esta solución universal como los ejemplos encontrados fueron complicados y esto es legible para mí, el código debe ser autoexplicativo.
- (IBAction)changePage:(id)sender {
_pageControlUsed = YES;
CGFloat pageWidth = _scrollView.contentSize.width /_pageControl.numberOfPages;
CGFloat x = _pageControl.currentPage * pageWidth;
[_scrollView scrollRectToVisible:CGRectMake(x, 0, pageWidth, _scrollView.frame.size.height) animated:YES];
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
_pageControlUsed = NO;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
if (!_pageControlUsed)
_pageControl.currentPage = lround(_scrollView.contentOffset.x/
(_scrollView.contentSize.width/_pageControl.numberOfPages));
}
Esto hace lo mismo que la respuesta @ReneDohan sin la necesidad de una variable para almacenar el estado de
- (IBAction)changePage:(id)sender {
CGFloat x = self.pageControl.currentPage * self.scrollView.frame.size.width;
[self.scrollView setContentOffset:CGPointMake(x, 0) animated:YES];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.isDragging || scrollView.isDecelerating){
self.pageControl.currentPage = lround(self.scrollView.contentOffset.x/(self.scrollView.contentSize.width/self.pageControl.numberOfPages));
}
}
opción más limpia del grupo, gracias – eric
¡Bravo! Esto funcionó para mí cuando conecté el delegado de vista de desplazamiento al controlador de vista. –
he hecho un proyecto de demostración para esta pregunta. Por favor visite: https://github.com/lenhhoxung86/PageControlDemo
- 1. ¿Cómo actualizar UIPageControl cuando UIScrollView con PagingEnabled cambia la página?
- 2. Vinculación mediante programación de UIPageControl a UIScrollView
- 3. UIPageControl no se muestra
- 4. UIViews con UIPageControl
- 5. Combina diferentes problemas en github
- 6. Crear un UIPageControl vertical
- 7. cómo configurar programáticamente la página actual para UIPageControl?
- 8. Paginación UIScrollView con diferentes anchos de página
- 9. ¿UIPageControl es inútil por sí mismo?
- 10. cómo cambiar los puntos UIPageControl
- 11. android listview diferentes vistas para cada elemento
- 12. juego 2 paquetes diferentes para vistas
- 13. ¿cómo utilizo un UIPageControl?
- 14. ¿Cómo diseñar subvistas para UIScrollView cuando se usan storyboards para iOS5?
- 15. Rieles 3: diferentes vistas para cada modelo
- 16. Android: EfficientAdapter con dos vistas diferentes
- 17. ¡UIScrollView no se desplazará!
- 18. Mostrar indicadores mientras despliego programáticamente UIScrollView
- 19. git merge no se combina
- 20. UIPageControl dot para una página de búsqueda
- 21. UITableViewController dentro de UIScrollView con paginación horizontal
- 22. usando UIScrollView generando problemas
- 23. ¿Cómo puedo mostrar diferentes iconos para misma extensión de archivo
- 24. manejo de notificaciones automáticas a diferentes vistas
- 25. UIScrollView no mostrar el indicador de desplazamiento
- 26. ¿Cómo puedo anidar un UIScrollView dentro de UIScrollView para que el usuario pueda desplazar el UIScrollView interno?
- 27. ¿Cómo saber qué otro UIScrollView interfiere con scrollsToTop?
- 28. Un controlador, diferentes vistas para usuarios normales y administradores
- 29. Devolver diferentes vistas desde el controlador MVC
- 30. ¿Cómo se establecen diferentes límites de escala para diferentes facetas?
en realidad, observe la respuesta de @ datinc. muy limpio y simple. – eric
@Rene Dohan cómo obtener el mismo efecto al hacer clic en changePage y scrollViewDidEndDecelerating. zip zip movimiento de imágenes en scroll mismo tiene clic en control de página. – kiran
@ReneDohan absolutamente! ¡Me encanta eso de SO! Solo señalé la otra solución porque la suya tenía tantos votos positivos, y en mi humilde opinión, la respuesta más reciente fue mejor. :-) – eric