Aprender los conceptos básicos de UIScrollView


Me ha costado mucho encontrar buenos ejemplos de UIScrollView. Incluso la suite UIScrollView de Apple me parece un poco deficiente.

Estoy buscando un tutorial o un conjunto de ejemplos que me muestre cómo crear algo similar al desplazamiento de la pestaña Safari del iPhone, cuando se aleja de una ventana del navegador y se puede mover a otras.

Pero me está costando conseguir cualquier vista antigua que se muestre dentro de una vista de desplazamiento. Tengo una vista configurada con una imagen en ella, pero cuando la agrego a la vista de desplazamiento, solo obtengo un rectángulo negro, no importa lo que ponga en la vista que agrego.

Cualquier enlace o fragmento de código sería genial!

Author: M. Ryan, 2009-10-20

3 answers

Aquí hay una guía de vista de desplazamiento de Apple

Los pasos básicos son:

  1. Cree una UIScrollView y una vista de contenido que desee poner dentro (en su caso una UIImageView).
  2. Haga que la vista de contenido sea una vista secundaria de la vista de desplazamiento.
  3. Establezca el tamaño de contenido de la vista de desplazamiento al tamaño de marco de la vista de contenido. Este es un paso muy importante que la gente a menudo omite.
  4. Coloque la vista de desplazamiento en una ventana en algún lugar.

En cuanto a la comportamiento de paginación, echa un vistazo a la propiedad pagingEnabled de UIScrollView. Si necesita desplazarse por menos de una página completa, tendrá que jugar trucos con clipsToBounds, una especie de lo contrario de lo que está sucediendo en esta pregunta de StackOverflow.

 46
Author: Ben Stiglitz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:32:21
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 más información Crear UIScrollView mediante programación

 16
Author: Hema,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-27 11:29:23

Nuevo 26/3/2013 Me topé con una manera más fácil de hacer esto sin código (contentSize)

Https://stackoverflow.com/a/15649607/1705353

 4
Author: Dickey Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:32