如何设置的ABPeoplePickerNavigationController的提示?
-
19-09-2019 - |
题
这是我使用的人打电话选取器的代码,但提示标签文本不会更改:
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"];
}
不隶属于 StackOverflow