2010-07-18 2 views
4

Je vais utiliser le carnet d'adresses comme source de données de mon application pour ajouter un nouveau contact ou sélectionner un contact. Le contact est principalement pour l'entreprise ou l'organisation, mais il peut s'agir d'une personne.Utiliser le carnet d'adresses comme source de données

Pour ajouter un nouveau contact, je voudrais montrer une liste de contacts, comme les gens prennent le contrôle:

alt text http://developer.apple.com/iphone/library/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Art/people_picker.jpg

Cependant, je ne peux pas comprendre changer Annuler à Ajouter et groupes comme Annuler . Il semble que je ne peux pas régler la barre de navigation de ce contrôleur sur Ajouter. Fondamentalement, je voudrais afficher une liste de contacts à choisir comme ma source de données d'ajout, et de fournir la fonction Ajouter dans la même vue si l'utilisateur veut ajouter un nouveau au contact d'abord et en tant que source de données.

Le Address Book Programming Guideline d'Apple fournit un ABNewPersonViewController pour ajouter un nouveau contact. Est-il possible d'ajouter cela à tous les contacts sélecteur comme son arbre de navigation? Est-ce que quelqu'un voit des exemples de codes similaires dans la liste d'exemples d'Apple (juste trop nombreux pour le savoir)?

Un autre problème lié est que lorsque le contrôleur du sélecteur de personnes est affiché, il apparaît avec une animation de bas en haut. Existe-t-il un moyen de contrôler son animation à partir de la gauche, tout comme l'animation de la navigation?

Répondre

1

Ma recommandation: utiliser un ABPeoplePickerNavigationController et ajouter une barre d'outils au bas qui a un bouton Ajouter. Le bouton Ajouter ouvrirait un ABNewPersonViewController.

+0

C'est une bonne suggestion. Cependant, comme je n'ai pas accès au contrôleur du sélecteur et qu'il est affiché en mode modal, je ne suis pas sûr de savoir comment ajouter une barre d'outils à son fond. Juste ajouter une barre d'outils après l'affichage du contrôleur? Que diriez-vous d'un petit bouton avec "+" et vue d'arrière-plan transparent? –

+0

ABPeoplePickerNavigationController est une sous-classe de UINavigationController. Utilisez simplement la propriété toolbar pour définir toolbarItems et toolbarHidden = NO pour afficher la barre d'outils. –

0

Pour faire ce que vous essayez de faire, vous devrez créer votre propre contrôleur qui remplit les cellules d'une table à l'aide de l'API AB. Vous pouvez pousser votre contrôleur sur votre contrôleur de navigation existant pour obtenir l'animation que vous voulez, et utiliser ABNewPersonViewController pour ajouter de nouvelles entrées.

+0

J'ai pensé à l'option, et cela ne devrait pas être trop difficile à faire. Cependant, s'il y a d'autres options disponibles pour réutiliser la vue du contrôleur AB, je préfère ne pas réinventer ma roue. –

Questions connexes