2011-05-28 13 views
5

Dentro de mi vista creo una ScrollView con una anchura de 320 y una altura de 70.UIScrollView contentSize Edición

En respuesta a que el usuario toque un botón, amplío la ScrollView, por lo que es de 380 (h) x 320 (w) de tamaño.

El código para esto se muestra a continuación:

CGRect scrollviewFrame = CGRectMake(0, 30, 320, 380); 
[scrollView setFrame:scrollviewFrame]; 
[self layoutScrollImages:YES]; 
CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight)); 
[scrollView setContentSize:srect]; 

Como depurar este proyecto, puede ver que srect es 320 (w) x 8.000 (h) en tamaño; sin embargo, mi problema es que el área desplazable (donde el usuario puede tocar para desplazarse por la vista de desplazamiento) permanece igual que cuando tenía el tamaño original.

Obviamente me falta algo, ¿alguien sabe qué es?

Edición: He creado un proyecto de ejemplo para ilustrar el problema que estoy teniendo, está disponible aquí: http://dl.dropbox.com/u/9930498/ScrollViewTest.zip

+0

¿Desplazable? o visible también? –

+0

Supongo que ha respondido a su pregunta, ¿ha aumentado también el tamaño del contenido, que corresponde al tamaño del marco? – rptwsthi

+0

@rptwsthi qué? –

Respuesta

2

creo, usted tiene problema con su línea debajo del código.

CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight)); 
    [scrollView setContentSize:srect]; 

depurar el programa y ver el contenido de srect, también nos permiten saber el valor de la constante por debajo de dos

kNumImages, kScrollObjHeight.

+0

Eso lo hizo demasiado pronto después de la última fila de código: P –

+0

const CGFloat kScrollObjHeight \t = 80; const NSUInteger kNumImages = 100; –

+0

srect = anchura 320/altura 8000 –

-1

es necesario cambiar la contentSize del ScrollView, así como el marco. Tal vez esto ayudará aswell: UIScrollView Class Reference

hacer esto cuando establecer el nuevo tamaño

scrollView.scrollEnabled = YES; 
scrollView.showsHorizontalScrollIndicator = YES; 
scrollView.showsVerticalScrollIndicator = YES; 
[scrollView setFrame:CGRectMake(0, 30, 320, 380)]; 
CGSize srect = CGSizeMake([scrollView bounds].size.width, (kNumImages * kScrollObjHeight)); 
[scrollView setContentSize:srect]; 
[self layoutScrollImages:YES]; 
+0

Eso hizo en la última fila. –

+0

Dang it .. :) Entonces tampoco sé qué hacer ...: D, lo siento – JNK

+0

Pruebe esto: http://cl.ly/0K1E3D2O2o2T0e3O321E – JNK