2010-04-27 10 views
3

Lorsque vous utilisez peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person, une vue contenant toutes les informations sur le contact s'affiche. J'ai vu des applications qui affichent uniquement des informations sélectionnées (par exemple, les numéros de téléphone).comment masquer certaines propriétés à l'aide de ABPeoplePicker

Comment est-ce que je peux faire ceci? Je veux seulement afficher le nom et les numéros de téléphone du contact.

Merci beaucoup!

Répondre

8

C'est assez simple. J'ai personnalisé ABPeoplePickerNavigationController pour afficher uniquement les adresses e-mail.

Le code ressemble à ceci:

ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init]; 
    [peoplePicker setPeoplePickerDelegate:self]; 
    [peoplePicker setDisplayedProperties:[NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonEmailProperty]]]; 

Vous trouverez une liste des propriétés disponibles here.

0

Je ne sais pas si vous le pouvez,

Vous pouvez le faire pour obtenir une liste de personnes pour le carnet d'adresses:

// get the default address book. 
ABAddressBookRef addressBook = ABAddressBookCreate(); 

CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook); 

puis créez votre propre point de vue sélecteur sur mesure, montrant seulement l'information que vous voulez.

0

Dans Swift, il vous suffit de le faire.

var people = ABPeoplePickerNavigationController() 
people.peoplePickerDelegate = self 
// 3 is for Phone Number 
people.displayedProperties = [3]