Para todos aquellos que como yo, les sigue gustando trabajar con archivos XIB en lugar de Storyboard en la programación de apps en iOS. Aquí presento la forma en que pueden crear un proyecto usando archivos XIB en la vista y Objective-C como lenguaje de programación, debido a que con las nuevas versiones de Xcode, sólo podemos crear proyectos con Storyboard’s por default.
Abriremos Xcode:
Creamos un nuevo proyecto:
Create a new Xcode project
Ahora crearemos un Single View Application:
iOS -> Application -> Single View Application
Presionamos en Next y en la siguiente pantalla ingresamos los datos que deseamos para nuestro proyecto, donde deberemos verificar que este seleccionado en el lenguaje de programación Objective-C.
Language: Objective-C
Presionamos Next y la siguiente pantalla es para decidir en donde guardar el proyecto.
Ahora sólo presionamos en Create y quedará creado nuestro proyecto.
Lo siguiente por hacer es borrar los archivos:
ViewController.h
ViewController.m
Main.storyboard
Ahora que hemos borrado los archivos, crearemos un ViewController con su archivo XIB, para esto, seleccionamos el nombre del proyecto con la carpeta amarilla, en este ejemplo:
ProyectoXib -> ProyectoXib
presionamos con botón derecho y en el menú presionamos en:
File -> New -> File…
Aparecerá una pantalla donde seleccionamos la opción Cocoa Touch Class:
iOS -> Source Cocoa Touch Class
Presionamos Next y se mostrará una pantalla donde nos pide los datos del ViewController a crear, en este caso le pondré el nombre ViewControllerPrincipal y hay que cerciorarse en marcar la opción Also create XIB file.
Presionamos Next y por último se nos preguntará donde crear los archivos, aquí sólo hay que presionar en Create.
Ya que tenemos estos archivos creados, abriremos el archivo AppDelegate.m e importamos el controlador que acabamos de crear, que en este caso es ViewControllerPrincipal, y lo colocaremos como sigue:
#import “AppDelegate.h”
#import “ViewControllerPrincipal.h”
Ahora en el método:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES; }
Lo modificaremos para crear un objeto del controlador que creamos y lo asignaremos para que esta sea la pantalla que deberá de mostrarse.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; ViewControllerPrincipal *viewPrincipal = [[ViewControllerPrincipal alloc] initWithNibName:@"ViewControllerPrincipal" bundle:nil]; [self.window setRootViewController:viewPrincipal]; [self.window makeKeyAndVisible]; return YES; }
Por último habrá que quitar dentro de la información general del proyecto que la interfaz principal sea Main. Esto se encuentra en:
Nombre del proyecto -> TARGETS -> Nombre del proyecto -> General -> Main interface
En el ejemplo que tenemos, sería:
ProyectoXib -> TARGETS -> ProyectoXib -> General -> Main interface
En Main Interface deberemos quitar Main para así permitir que la pantalla que creamos, sea la que se vea.
Bastará con borrarla y ahora si podemos ejecutar nuestro proyecto y ver la interfaz XIB que creamos.
Gran ayuda!!!!…muchas gracias!
De nada
Saludos