2010-06-23 20 views

risposta

22

UINavigationBar eredita da UIView, in modo da poter utilizzare UIView 's metodi di animazione a svanire fuori impostando la proprietà alpha a 0. Questo dovrebbe funzionare:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 
[navigationBar setAlpha:0.0]; 
[UIView commitAnimations]; 
+0

Grazie .... ha funzionato Macatomy .. – rockey

6

Per rendere la barra trasparente, utilizzando setBarStyle: utilizzando il UIBarStyleBlackTranslucent.

Per nascondere la barra con animazione a dissolvenza, utilizzare lo snippet di codice Macatomy pubblicato.

12

Dato che sono un tipo che usa un blocco, uso questo piccolo frammento.

[UIView animateWithDuration:0.5 animations:^{ 
    [navigationBar setAlpha:0.0]; 
}]; 

Si sente più gentile con me, ma probabilmente si dovrebbe fare solo se si è abituati a blocchi e il gioco è rockin' iOS 4.0 o successive.

0

In base alle specifiche Apple, non modificare mai i valori frame, bounds o alpha della barra di spostamento.

Per nascondere (o mostrare) la barra di navigazione, è possibile modificare la proprietà navigationBarHidden o chiamare il metodo setNavigationBarHidden:animated.

+1

Sfortunatamente, usando '- [UINavigationController setNavigationBarHidden: animated:]' esegue sempre l'effetto slide-out invece dell'effetto fade-out richiesto dall'OP. –

Problemi correlati