A la hora de desarrollar una app, un punto muy importante a tener en cuenta es apariencia de la aplicación (UI, User Interface) y la experiencia de usuario (UX, User Experience). Por eso, la interacción y la usabilidad debe de ser algo a llevar muy al día en la aplicación. Por ejemplo, meter animaciones (como UIViewAnimation) o controles personalizados, hace que el usuario se sienta a gusto usando la aplicación. Para los controles personalizados, os recomiendo la web de CocoaControls, ya que tiene controles tanto para iOS como para Mac muy chulos.

El otro ejemplo que he puesto ha sido UIViewAnimation. Lo bueno es que es muy fácil de usar para hacer cosas simples. Pongamos un ejemplo: queremos hacer un Fade In de un label. Lo que tenemos que hacer es establecerle al label un alpha 0 (label.alpha = 0) y una animación:

[UIView animateWithDuration:1 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{ label.alpha = 1; } completion:nil];

Con ese código, el label hará un Fade In, y la animación durará un segundo. Podemos configurar más cosas como la duración, el delay (retraso), métodos que se ejecuten al terminar la animación, otros métodos para animar…

¡Un saludo!