Agregue una vista XIB a una vista de pestaña en el guión gráfico

Estoy trabajando en una aplicación para Iphone. Estoy usando un StoryBoard.

Tengo una vista de pestaña con 3 pestañas. "Inicio", "Usuarios" y "Configuración".

Creo la vista "Inicio" y "Usuarios" en el guión gráfico, pero la vista de configuración es un archivo XIB (SettingsView.xib)

¿Cómo puedo hacer que la tercera pestaña ("Configuración") abra SettingsView.xib? ¿Puedo usar tanto el guión gráfico como los archivos xib?

Intenté inicializar un UINavigationController en la startApp en el AppDelegate pero no puedo averiguar cómo agregarlo al guión gráfico.

Gracias por cualquier ayuda

preguntado el 31 de julio de 12 a las 12:07

Estas son dos preguntas, y casi con certeza un duplicado; Espero que mi respuesta te funcione. -

2 Respuestas

Los TabViewControllers suelen tener un controlador de navegación para cada pestaña. Cree los controladores de navegación en el guión gráfico y conéctelos a la relación de controladores de navegación del controlador de vista de pestañas.

La vista inicial del controlador de navegación se conecta a la relación rootViewController del controlador de navegación.

En cuanto a su segunda pregunta, no estoy seguro, pero creo que lo siguiente funcionará:

Cree un UIViewController en el guión gráfico y cambie su clase a su clase que está cargando desde un XIB. Cuando el guión gráfico crea una instancia de la clase, utilizará el XIB siempre que el nombre de la clase coincida exactamente con el nombre del XIB. Sin embargo, no creo que puedas hacer ninguna comprobación de iPad/iPod aquí.

Respondido 31 Jul 12, 12:07

"Cuando el guión gráfico crea una instancia de la clase, usará el XIB siempre que el nombre de la clase coincida exactamente con el nombre del XIB" hizo el truco: anoop4real

Puede agregar una vista basada en xib a su controlador de barra de pestañas basado en guión gráfico de la siguiente manera. Estoy suponiendo lo siguiente:

  • El controlador de la barra de pestañas es el controlador de vista inicial de su guión gráfico.
  • Su controlador de configuración es una clase llamada SettingsController
  • Tiene una imagen de barra de pestañas en su paquete llamada SettingsTabImage

Defina el controlador de la barra de pestañas en el guión gráfico con solo los elementos de la barra de pestañas basados ​​en el guión gráfico: Inicio y Usuarios en su caso

En su aplicación delegada, use el siguiente código en application:didFinishLaunchingWithOptions::

// Create your settings view controller
SettingsController *settingsVC = [[SettingsController alloc] initWithNibName:nil bundle:nil];

// Create a tab bar item
UITabBarItem *settingsItem = [[UITabBarItem alloc] initWithTitle:@"Settings" image:[UIImage imageNamed:@"SettingsTabImage" tag:0];
settingsVC.tabBarItem = settingsItem;

// Get a reference to the tab bar controller
UITabBarController *tbC = (UITabBarController*)self.window.rootViewController;

// Get the current view controllers in your tab bar
NSMutableArray *currentItems = [NSMutableArray arrayWithArray:tbC.viewControllers];

// Add your settings controller
[currentItems addObject:settingsVC];
tbC.viewControllers = [NSArray arrayWithArray:currentItems];

Respondido 02 ago 12, 13:08

Gracias lo intentaré. Una pregunta si el controlador de la barra de pestañas no es la vista inicial, ¿cómo puedo obtener una referencia a él? (hay un controlador de vista con un botón que lo llevará al controlador de la barra de pestañas) - Y2theZ

Deberá colocar un código como este en el método prepareForSegue que se ejecuta antes de que se muestre el controlador de la barra de pestañas. En este caso, el controlador de la barra de pestañas será el controlador de vista de destino del segue. - jrturton

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.