views:

170

answers:

3

This is the code I'm using to call the people picker, but the prompt label text doesn't change:

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];
A: 

I've just stumbled upon a way to do this. However, I'm not sure it's the best way. Just replace in the code above the line

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

With

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

You can change the title with:

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

And you can change the prompt with:

picker.navigationBar.topItem.prompt = @"iPhone Contacts";
Gorgando
A: 

There is a key piece of information missing in the other answers, and not quite obvious. You need to set the prompt after the line:

[self presentModalViewController:picker animated:YES];

So, if you do it like this, it works:

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