2010-05-07 23 views
5

En la aplicación de iPod en el iPhone, hay un UIBarButtonItem en la barra de herramientas superior derecha que alterna entre la canción y las listas de pistas del álbum. Cuando selecciona el botón, el botón realiza una animación invertida.¿Cómo se hace una animación de UIBarButtonItem?

¿Hay una manera de hacer esto con:

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

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

¿Es necesario hacer una UIBarButtonItem con initWithCustomView vs initWithImage para lograr esto?

Respuesta

8

El UIBarButtonItem no es un elemento secundario de ninguna clase UIView, por lo tanto no se puede animar. Tales animaciones (como si los mapas de Apple o el iPod) son, probablemente, API privadas.

Sin embargo, una solución aproximada es crear un UIBarButtonItem utilizando initWithCustomView, y luego animar el salto dentro de esa vista. Sin embargo, esto puede ser bastante engorroso; deberá proporcionar sus propios gráficos de borde para el botón.

la esperanza que esto era útil, Paul

2

que he hecho algo similar. Tengo un UIBarButtonItem que se voltea horizontalmente cuando un campo de texto gana foco. Para lograr esto usé un botón con un UIView personalizado dentro del cual puse una barra de herramientas transparente que contenía mi elemento de botón de barra hecho.

Para voltear los botones utilizo los métodos transitionFromView:toView:options:completion: con la barra de herramientas antigua y nueva como desde y hacia las vistas.

Es un poco elevado, pero puede mantener los botones de la barra predeterminados de Apple.

+0

+1 esta es una manera genial que le permite seguir siendo el OS l'n'f - Me gusta –

Cuestiones relacionadas