2012-07-12 7 views
5

Estoy construyendo una aplicación con un flujo de contenido social y estoy tratando de obtener el comportamiento de cómo instagram hace su transmisión en la aplicación. Así que, básicamente, un encabezado superior que se desplaza fuera de la pantalla pero rebota entre eso y el contenido. Puedo hacer que el encabezado superior se desplace fuera de la pantalla y puedo hacer que la vista no rebote, pero quiero usar Pull para actualizar y eso termina yendo por encima de la barra de navegación "falsa" UIView. Sé que un Navbar normal producirá esto, pero este que se desplaza es una historia diferente.¿Cómo configurar mi guion gráfico de iOS para que rebote como Instagram Stream?

Actualmente tengo un UITableview que tiene un UIView por encima de la UITableViewCell y todo funciona muy bien, excepto el rebote pasa por encima de la UIView. Me imagino que necesito obtener el UIView por encima del UITableView, sin embargo, en el UITableViewController el guión gráfico no me permitirá colocar el UIView sobre el UITableView.

¿Alguna idea ???

Gracias

+0

nadie ¿eh ??? Noté que la nueva aplicación de Facebook 5 también tiene este comportamiento en su página de transmisión. Realmente me gustaría encontrar esta aplicación antes de lanzar mi aplicación a la naturaleza. –

Respuesta

5

Bueno, yo finalmente consiguieron que todo esto funcione, así que pensé que iba a publicar la respuesta para todos.

Básicamente configuré una barra de navegación estándar y luego en scrollViewDidScroll obtengo el desplazamiento del desplazamiento y cambio el marco en función de eso. Esto parece funcionar perfectamente, vea a continuación mi método scrollViewDidScroll.

- (void)scrollViewDidScroll:(UIScrollView *)sender { 

    //Initializing the views and the new frame sizes. 
    UINavigationBar *navbar = self.navigationController.navigationBar; 
    UIView *tableView = self.view; 

    CGRect navBarFrame = self.navigationController.navigationBar.frame; 
    CGRect tableFrame = self.view.frame; 

    //changing the origin.y based on the current scroll view. 
    //Adding +20 for the Status Bar since the offset is tied into that. 
    navBarFrame.origin.y = MIN(0, (sender.contentOffset.y * -1)) +20; 
    navbar.frame = navBarFrame; 

    tableFrame.origin.y = MIN(0,MAX(-44,(sender.contentOffset.y * -1))); 
    tableView.frame = tableFrame; 

} 

también tendrá que hacer su TableView 44px más alto para compensar el desplazamiento de lo contrario su trama no será lo suficientemente grande. Acabo de hacer esto a la vista WillAppear e hice el marco más grande.

+0

Gracias, esto es realmente útil pero creando 1 problema, en la barra de navegación deslizante está subiendo pero dejando un espacio en blanco en blanco en lugar de la barra de navegación, y la tabla se desplaza desde ese espacio en blanco. Cómo resolver este problema puede por favor ayudarme. –

Cuestiones relacionadas