我正在编写一个基于UIViewController的应用程序。它没有导航栏。 我的应用程序适用于AddressBook。 现在我用两件事。
第一个(选择一个人):
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
}
和第二个(选择手机):
{
ABPersonViewController *picker = [[[ABPersonViewController alloc] init] autorelease];
picker.personViewDelegate = self;
picker.displayedPerson = person;
picker.displayedProperties = [NSArray arrayWithObjects: [NSNumber numberWithInt:kABPersonPhoneProperty], nil];
[self presentModalViewController:picker animated:YES];
}
它们在不同的功能中被调用。
在第一种情况下,当显示选择器时,它有一个带有一些按钮的导航栏:取消等。
在第二种情况下,另一个选择器没有导航栏。所以,如果我选择手机然后它可以工作,但如果我想返回而不做出选择 - 我没有“后退”或“取消”按钮。
如何在第二种情况下添加导航栏?
我试图添加另一个导航控制器和一个视图控制器,如下所述
这会显示navigatiob栏,但我的应用程序在此之后崩溃。
和
答案 0 :(得分:2)
ABPeoplePickerNavigationController
,顾名思义,是一个导航控制器,因此它有一个导航栏。 ABPersonViewController
只是一个视图控制器,因此它没有自己的导航栏。您可以自己将ABPersonViewController
的实例放入导航控制器并显示,然后它会有一个导航栏,您可以添加所需的任何按钮。