这是我使用的人打电话选取器的代码,但提示标签文本不会更改:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
picker.displayedProperties = [NSArray arrayWithObjects: [NSNumber numberWithInt:kABPersonEmailProperty], nil];  

picker.navigationItem.prompt = @"Choose a contact to...";

[self presentModalViewController:picker animated:YES];
有帮助吗?

解决方案

可以改变与标题:

picker.navigationBar.topItem.title = @"iPhone Contacts";

和可以用改变的提示:

picker.navigationBar.topItem.prompt = @"iPhone Contacts";

其他提示

有是信息在其他的答案丢失的关键部分,并且不十分明显。需要设置的提示的 行之后:

[self presentModalViewController:picker animated:YES];

所以,如果你像这样做,它的工作原理:

[self presentModalViewController:picker animated:YES];
picker.navigationBar.topItem.prompt = @"Choose a contact to...";

我只是偶然发现了一个方法来做到这一点。但是,我不知道这是最好的方式。只是在代码替换线的上方

picker.navigationItem.prompt = @"Choose a contact to...";

使用

picker.navigationBar.topItem.prompt = @"Choose a contact to...";

如果你是子类中的ABPeoplePickerNavigationController你需要设置这个曾经的视图控制器推。这是什么实现这一约翰提出同样的事情影响,但是从类中。

在的ABPeoplePickerNavigationController实现像这样以下委托方法:

-(void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)viewController 
                   animated:(BOOL)animated
{
    [[[self navigationBar] topItem] setPrompt:@"test"];
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top