2009-06-24 10 views
5

Estoy creando una aplicación para el iPhone que implica tener botones que animan una vista de imagen, creé otra vista en la que se mantienen los botones, pero me gustaría poder desplazar esta vista de botones horizontal o verticalmente. He buscado agregar vistas de desplazamiento e incluso he seguido un tutorial, pero no puedo encontrar la manera de agregarlo a mi aplicación. ¿Alguna idea de alguien? En el tutorial que seguí, el chico agrega la vista de desplazamiento a MainWindow.xib, ahora mi aplicación está creada y diseñada en viewcontroller.xib. Entonces, después de seguir el tutorial cuando pulso construir e ir, carga esa punta y todo lo que ves es un fondo blanco y una vista de desplazamiento. (también en ese tutorial desplazó una imagen donde me gustaría desplazar una vista larga de botones). Me doy cuenta de que la idea de novato de mi pregunta podría ser una locura, pero soy nuevo en la programación. Aquí hay otra pregunta adicional, si alguien me ayudó a hacer funcionar esta vista de desplazamiento, ¿dónde diseñaría el contenido de esa vista desplazada si su longitud es más larga que la de la pantalla del iPhone? Porque entiendo que el espacio para diseñar en el constructor de interfaces es el tamaño de la pantalla del iphone y el diseño de las interfaces por más tiempo de lo que la pantalla del iPhone no es factible. (por supuesto, sé que es factible, simplemente no sé cómo hacerlo). Cualquier ayuda será apreciada.iPhone SDK: ¿Cómo puedo agregar una vista de desplazamiento a mi aplicación?

Respuesta

7

puede establecer el (área de desplazamiento) vista de contenido mediante programación dimensiones:

[scrollView setContentSize:CGSizeMake(contentViewWidth, contentViewHeight)]; 

Y a continuación, añadir visualizar componentes a la vista de desplazamiento utilizando el sistema de coordenadas de la vista de contenido. Así que decir que su punto de vista de desplazamiento era de 100x100 píxeles y que quería la vista de desplazamiento para ser el doble de ancho:

[scrollView setContentSize:CGSizeMake(200.0f, 100.0f)]; 

A continuación, puede añadir un botón que aparezca en cada mitad de la vista de desplazamiento:

// First half of content view 
button1.frame.origin.x = 10.0f; 
button1.frame.origin.y = 50.0f; 
[scrollView addSubView:button1]; 

// First half of content view 
button2.frame.origin.x = 110.0f; // NOTE that 110 is outside of 
button2.frame.origin.y = 50.0f; // the scroll view frame 
[scrollView addSubView:button2]; 

Puede probablemente diseñar cada página de la vista de desplazamiento como una subvista separada en la NIB y luego cambiar el origen de las vistas secundarias a la ubicación de la página correcta en Interface Builder o programáticamente - pero nunca he intentado esto. Si esto funciona, entonces podría diseñar sus botones usando IB.

Me gustaría saber si esto funciona.

+0

Gracias por eso, pero ¿cómo podría obtener una vista de desplazamiento trabajando para agregar botones programáticamente? Porque, a partir de ahora, tengo un scrollView en mi interfaz pero simplemente no se desplaza ¿cómo conseguiré que se desplace? –

+0

¿Cómo configuró la vista de contenido? ¿Está configurado para ser más grande que la vista de desplazamiento? – teabot

+0

Ahh, sí, no lo era, pero ahora lo es y funciona, oh y resolví mi problema al configurar el diseño de algo visualmente en IB que es más grande que la pantalla del iphone sin tener que hacerlo programáticamente, básicamente no lo haces Tengo que ver toda la vista de lo que desea diseñar, simplemente diseñe una porción de tamaño de pantalla de iPhone a la vez. Gracias por su útil consejo. –

0

la mayoría de las vistas tienen una propiedad .hidden.

establézcalo en YES para ocultar -> myscrollview.hidden = YES; establecido en NO para mostrar -> myscrollview.hidden = NO;

puede poner este ocultar/mostrar dentro de una animación y fundir la vista de desplazamiento.

búsqueda "animación de cuarzo simple": son solo unas pocas líneas de código.

Cuestiones relacionadas