ViewController está cargado, pero la vista no se muestra

Tengo una vista cuyo controller está siendo instanciado (NSLog lo dice), pero la vista no aparece. Si lo carga como una vista modal, aparece, pero no si lo asigno.

Tengo esta estructura (MenuView es la vista que no aparece):

// ViewController.h

#import "MenuViewController.h" @class MenuViewController; @interface ViewController : UIViewController<ASIHTTPRequestDelegate>{ ... IBOutlet MenuViewController *menuView; } ... @property(nonatomic, retain) MenuViewController *menuView; @end 

// ViewController.m

 #import "MenuViewController.h" @implementation ViewController @synthesize menuView; - (void)loadMenu{ // THIS WORKS // [self presentModalViewController:menuView animated:YES]; // THIS DOESN'T (VIEWCONTROLLER IS INSTANTIATED BUT VIEW DOESN'T APPEAR menuView = [[[MenuViewController alloc] initWithNibName:@"MenuView" bundle:Nil] autorelease]; [self.navigationController pushViewController:menuView animated:YES]; } 

Algunas ideas:

Intente usar self.menuView cuando asigne:

self.menuView = [[MenuViewController alloc] initWithNibName:@"MenuView" bundle:Nil];

Además, probablemente no debería autorizar una property . dealloc en dealloc y dealloc en nil en viewDidUnload .


Asegúrese de que self (ViewController) tenga un self (ViewController) navigationController . ¿ ViewController fue presionado / presentado por un navigationController ?


Is - (void)loadMenu{ siendo llamado desde MainThread? Verifique con [NSThread mainThread]


Echa un vistazo a algunos tutoriales / ejemplos:

Agregar un controller de navigation a mano

Aplicación NavigationController en iPhone

Tutorial: Presentación de UINavigationController Part 1

Tutorial de cambio de vista de iPhone