Me gustaría lanzar un controlador de vista modal de la forma en que lo hace con 'ABPeoplePickerNavigationController' y sin tener que crear un controlador de navegación que contenga el controlador de vista.Ejecutando un UINavigationController modal
Al hacer algo similar, se obtiene una pantalla en blanco sin título para la barra de navegación y no hay ningún archivo de plumilla asociado cargado para la vista, aunque invoco initWithNibName cuando se invoca 'init'.
Mi controlador se parece a:
@interface MyViewController : UINavigationController
@implementation MyViewController
- (id)init {
NSLog(@"MyViewController init invoked");
if (self = [super initWithNibName:@"DetailView" bundle:nil]) {
self.title = @"All Things";
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"All Things - 2";
}
@end
Cuando se utiliza el controlador de AB, todo lo que hacemos es:
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
ABPeoplePickerNavigationController se declara como:
@interface ABPeoplePickerNavigationController : UINavigationController
La otra forma de cree una vista modal como se sugiere en la "Guía de programación del controlador de vista de Apple para iPhone OS ':
// Create a regular view controller.
MyViewController *modalViewController = [[[MyViewController alloc] initWithNibName:nil bundle:nil] autorelease];
// Create a navigation controller containing the view controller.
UINavigationController *secondNavigationController = [[UINavigationController alloc] initWithRootViewController:modalViewController];
// Present the navigation controller as a modal view controller on top of an existing navigation controller
[self presentModalViewController:secondNavigationController animated:YES];
que puede crear de esta manera fina (siempre y cuando se cambia el MyViewController heredar de UIViewController en lugar de UINavigationController). ¿Qué más debería estar haciendo con MyViewController para iniciarlo de la misma manera que ABPeoplePickerNavigationController?