AVISO: Cualquier pregunta que no cumpla ninguno de estos criterios podrá ser borrada sin previo aviso.

1
1

Buenas, intente hacer un menu como el de la app de facebook, gmail o path, que al darle a un BarButtonItem o deslizando, el viewcontroller entero se mueve hacia un lado y descubre otra vista. No he tenido que usar otros frameworks como Three20, sólo he tirado del código que veis. El problema viene que al ejecutarlo consigo lo que quiero y el view controller se desplaza, pero sale un lugar en negro y no se como colocar una UITableView ahí, por ejemplo u otra view. Lo intente con addSubView y sendSubviewToBack, pero no me funciona.

 -(IBAction)botonMenu:(id)sender {
  CGRect posicion = self.navigationController.view.frame;
   if (setup == NO) {
    setup = YES;
    posicion = CGRectMake(255, 0, 320, 480);
}

else{

    setup = NO;
    posicion = CGRectMake(0, 0, 320, 480);

}
[UIView beginAnimations:nil context:nil];

[UIView animateWithDuration:0.25 animations:^{

    self.navigationController.view.frame = posicion;

}];

A partir de aqui no se seguir... Soy muy novato ;D Gracias!

preguntado 06 Ago '12, 18:42

JorgeGalingP's gravatar image

JorgeGalingP
36238

editó 06 Ago '12, 18:42


Hola Jorge,

En cocoacontrols tienes una librería que creo que realiza justo lo que quieres, aquí te dejo el enlace. http://www.cocoacontrols.com/platforms/ios/controls/zuuirevealcontroller

Saludos

enlace permanente

respondido 14 Ago '12, 22:57

Hispanien's gravatar image

Hispanien
9551313

Ese lugar en negro es el UIWindow (en tu caso con un backgroundColor negro), que es el contenedor padre a partir del cual se sitúan todos los viewControllers (y en consecuencia, las UIView) de tu aplicación.

Yo creo que el problema está en que no deberías animar la vista principal del controlador (self.navigationController.view) sino que deberías crearte dos subvistas dentro de self.navigationController.view.

La primera de ellas sería la vista que se vería por defecto y tendrá las mismas dimensiones que la vista self.navigationController.view, es decir, ocupará toda la pantalla.

La segunda vista estará por debajo de la anterior (inicialmente no se ve porque la primera la tapa, ya me entiendes) y tendrá el tamaño que tú definas para tu menú desplegable.

Ahora, en vez de animar self.navigationController.view, anima la primera vista que te dije anteriormente. Deberías de poder ver la segunda vista tal y como esperas.

¡Saludos!

enlace permanente

respondido 06 Ago '12, 22:46

Daedalus's gravatar image

Daedalus
37117

mmmm muchas gracias a los dos, pero la verdad es que sigo igual, si creo dos vistas y solo animo una, no me hace el efecto de la app de facebook que barre con todo el ViewController y lo mueve hacia una lado, sino que solo se mueve la view... Lo he probado todo pero no me funciona. Intentare investigar un poco más a fondo.. :D

enlace permanente

respondido 07 Ago '12, 15:07

JorgeGalingP's gravatar image

JorgeGalingP
36238

El efecto tal cual de la app de Facebook no es algo trivial que se pueda hacer en 4 líneas. Si quieres saber cómo implementar ese efecto te aconsejo que mires en github.com (un ejemplo aquí). Hay unos cuantos frameworks interesantes y podrás ver el código fuente y así saber cómo hacerlo, pero como digo, no es algo trivial.

(07 Ago '12, 18:23) Daedalus

Echa un vistazo a esto: https://github.com/Inferis/ViewDeck/

Hace exactamente lo que quieres y, si no lo quieres utilizar, puede que te de algunas ideas.

enlace permanente

respondido 08 Ago '12, 14:30

Saro's gravatar image

Saro
5341510

Hola, buen dia! En estos links encontraras información de pprevealsideviewcontroller, según entiendo Path utiliza este mismo control, esta muy bien documentado y es muy fácil de usar.

Espero te sirva.

http://www.cocoacontrols.com/controls/pprevealsideviewcontroller http://ipup.github.com/PPRevealSideViewController/ https://github.com/ipup/PPRevealSideViewController/

enlace permanente

respondido 22 Ago '12, 15:27

Morbo's gravatar image

Morbo
716811

Tu respuesta:
Activar/desactivar vista previa

Sobre esta pregunta

Etiquetas de la pregunta:

×244
×200
×121
×17
×3

Pregunta realizada el: 06 Ago '12, 18:42

Pregunta visitada: 637 veces

Última modificación: 22 Ago '12, 15:27

Seguir esta pregunta

Por Email:

Una vez que entres podrás suscribirte desde aquí para recibir actualizaciones

Por RSS:

Respuestas

Respuestas y Comentarios

Realizar Donación