Nuevo tipo de proyecto Cocoa Touch Utility
28 April 2008


Desde la úlitma versión publicada del SDK de iPhone por Apple, entre otras novedades hemos podido ver un nuevo tipo de proyecto a la hora de trabajar con nuestro entorno de desarrollo de xCode. En concreto hablamos de Cocoa Touch Utility el cual creará el esqueleto de una aplicación para iPhone con una animación bastante vistosa.
El efecto en cuestión lo podemos apreciar al pulsar un pequeño botón de información situado en la parte inferior derecha de nuestra ventana principal de la aplicación, y para reconocerlo en nuestro código fuente nos vamos a referir a él como FlipsideView.
Vamos a desgranar el proyecto creado para conocer nuevos detalles y aprender de ellos.
1. Ficheros de recursos
Un detalle que observamos es la creación de varios ficheros de recursos XIB, donde además del ya creado por defecto, vemos el que se encargar de la ventana principal de la aplicación y un segundo que es para la ventana de información que viene tras el efecto animado. Ambos ficheros solo constan de una simple vista.
2. Main View
Como su nombre bien indica, aqui encontramos la vista y el controlador de la misma encargados de la vista principal que aparece al ejecutar nuestra aplicación. Tan solo destacar en ella la creación del botón de información, ubicado en nuestro fichero MainViewController.m. Como era de imaginar es un botón sencillo de la clase UIButton con un valor asignado al método buttonWithType de UIButtonTypeInfoLight. Existen otros tipos predefinidos como:
typedef enum {
UIButtonTypeCustom = 0,
UIButtonTypeRoundedRect,
UIButtonTypeGlass,
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark,
UIButtonTypeContactAdd,
UIButtonTypeNavigation = 100,
UIButtonTypeNavigationBack,
UIButtonTypeNavigationDone
} UIButtonType;
3. Flipside View
Al igual que en el apartado 2 anterior, aquí encontramos los ficheros responsables de la vista de información con su controlador incluido. Destacamos la creación de una barra de navegación con el botón Done para volver a la vista anterior.
Para dicho control utilizamos la clase UINavigationBar donde definimos el tipo de botón que queremos insertar con initWithBarButtonSystemItem:UIBarButtonSystemItemDone. Existen otros como:
typedef enum {
UIBarButtonSystemItemDone,
UIBarButtonSystemItemCancel,
UIBarButtonSystemItemEdit,
UIBarButtonSystemItemSave,
UIBarButtonSystemItemAdd,
UIBarButtonSystemItemFlexibleSpace,
UIBarButtonSystemItemFixedSpace,
UIBarButtonSystemItemCompose,
UIBarButtonSystemItemReply,
UIBarButtonSystemItemAction,
UIBarButtonSystemItemOrganize,
UIBarButtonSystemItemBookmarks,
UIBarButtonSystemItemSearch,
UIBarButtonSystemItemRefresh,
UIBarButtonSystemItemStop,
UIBarButtonSystemItemCamera,
UIBarButtonSystemItemTrash,
UIBarButtonSystemItemPageCurl,
UIBarButtonSystemItemPlay,
UIBarButtonSystemItemPause,
UIBarButtonSystemItemRewind,
UIBarButtonSystemItemFastForward,
} UIBarButtonSystemItem;
4. Application Controllers
Para finalizar, aqui encontramos la clase encargada de la carga y visualización de ambas vistas, así como de gestionar los eventos que se producen en ambas (ver (IBAction)toggleView:(id)sender en ambos controladores de vista así como action:@selector(toggleView:) en ambos botones de info y done).
El encargado de este efecto es setAnimationTransition que mediante UIViewAnimationTransitionFlipFromLeft y UIViewAnimationTransitionFlipFromRight produce la animación.

Deja un comentario