2010-05-07 19 views
5

Nell'app iPod dell'iPhone è presente un UIBarButtonItem nella barra degli strumenti in alto a destra che si sposta tra gli elenchi di brani e brani dell'album. Quando si seleziona il pulsante, il pulsante stesso esegue un'animazione flip.Come si fa a girare un UIBarButtonItem?

C'è un modo per fare questo con:

 
CGContextRef context = UIGraphicsGetCurrentContext(); 
[UIView beginAnimations:nil context:context]; 

[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:[self superview] cache:YES]; 

ho bisogno di fare un UIBarButtonItem con initWithCustomView vs. initWithImage per raggiungere questo obiettivo?

risposta

8

UIBarButtonItem non è figlio di alcuna classe UIView, pertanto non può essere animato. Tali animazioni (come se le mappe di Apple o iPod) sono, probabilmente, API private.

Tuttavia, una soluzione approssimativa è la creazione di un UIBarButtonItem che utilizza initWithCustomView e quindi l'animazione del flip all'interno di tale vista. Tuttavia, questo potrebbe essere piuttosto ingombrante - è necessario fornire la propria grafica di bordo per il pulsante.

Spero che questo è stato utile, Paul

2

che ho fatto qualcosa di simile. Ho un UIBarButtonItem che si inverte orizzontalmente quando un campo di testo ottiene il focus. Per raggiungere questo obiettivo ho utilizzato un pulsante con un numero personalizzato UIView all'interno del quale ho inserito una barra degli strumenti trasparente contenente la mia opzione pulsante barra.

Per capovolgere i pulsanti, utilizzo i metodi transitionFromView:toView:options:completion: con la vecchia e la nuova barra degli strumenti come da e per le viste.

È un po 'sovraccarico, ma è possibile attenersi ai pulsanti della barra predefinita di Apple.

+0

+1 questo è un modo interessante per permetterti di rimanere il sistema operativo - mi piace –

Problemi correlati