Chciałbym uruchomić modalne widoku kontrolera sposób jeden robi z „ABPeoplePickerNavigationController” i to bez konieczności tworzenia kontroler nawigacyjny zawierający kontroler widoku.Uruchomienie modalne UINavigationController
Wykonanie czegoś podobnego daje pusty ekran bez tytułu paska nawigacji i nie ma skojarzonego pliku nib załadowanego do widoku, mimo że wywołuję initWithNibName po wywołaniu 'init'.
Mój kontroler wygląda następująco:
@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
Przy użyciu kontrolera AB, wszystko co musisz zrobić to:
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
ABPeoplePickerNavigationController jest zadeklarowana jako:
@interface ABPeoplePickerNavigationController : UINavigationController
Innym sposobem utwórz widok modalny zgodnie z sugestią Apple 'View Controller Programming Guide for 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];
mogę tworzyć to w ten sposób karę (tak długo, jak mogę zmienić MyViewController dziedziczyć z UIViewController zamiast UINavigationController). Co jeszcze powinienem zrobić, aby MyViewController uruchamiał się w taki sam sposób, jak ABPeoplePickerNavigationController?