iphone - example - Aprendiendo los conceptos básicos de UIScrollView
uiscrollview autolayout (3)
He estado teniendo dificultades para encontrar buenos ejemplos de UIScrollView. Incluso la Suite UIScrollView de Apple me parece un poco deficiente.
Estoy buscando un tutorial o conjunto de ejemplos que me muestre cómo crear algo similar al desplazamiento de la pestaña Safari de iPhone, cuando se aleja de una ventana del navegador y se puede desplazar a otros.
Pero estoy teniendo dificultades para mostrar cualquier vista anterior en una vista de desplazamiento. Tengo una vista configurada con una imagen, pero cuando la agrego a la vista de desplazamiento, solo obtengo un rectángulo negro, sin importar lo que pongo en la vista que agrego.
¡Cualquier enlace o fragmento de código sería genial!
UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
NSInteger viewcount= 4;
for (int i = 0; i <viewcount; i++)
{
CGFloat y = i * self.view.frame.size.height;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, self .view.frame.size.height)];
view.backgroundColor = [UIColor greenColor];
[scrollview addSubview:view];
[view release];
}
scrollview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *viewcount);
Para obtener más información, cree UIScrollView mediante programación
Aquí hay una guía de vista de desplazamiento de Apple
Los pasos básicos son:
- Cree un
UIScrollView
y una vista de contenido que desee colocar dentro (en su caso, unUIImageView
). - Haga que el contenido vea una subvista de la vista de desplazamiento.
- Establezca el tamaño del contenido de la vista de desplazamiento en el tamaño del marco de la vista de contenido. Este es un paso muy importante que las personas a menudo omiten.
- Coloque la vista de desplazamiento en una ventana en algún lugar.
En cuanto al comportamiento de búsqueda, consulte la propiedad pagingEnabled
de UIScrollView. Si necesita desplazarse por menos de una página completa, tendrá que jugar trucos con clipsToBounds
, más o menos lo contrario de lo que está sucediendo en esta pregunta de .
Nuevo 26/03/2013 Me encontré con una forma más fácil de hacer esto sin código (contentSize)
https://.com/a/15649607/1705353