2010-07-18 2 views
4

Я собираюсь использовать адресную книгу как источник данных моего приложения для использования, чтобы добавить новый контакт или выбрать контакт. Контакт в основном для компании или организации, но это может быть человек.Использование адресной книги в качестве источника данных

Для добавления нового контакта, я хотел бы показать список контактов, как люди выбирают контроль:

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

Однако, я не могу понять, изменить Отмена Добавить и группы как Отмена , Похоже, что я не могу настроить навигационную панель контроллера для добавления. В принципе, я хотел бы отобразить список контактов для выбора в качестве источника добавления данных и предоставить функцию добавления в том же представлении, если пользователь хочет сначала добавить новый контакт, и как источник данных.

Apple Address Book Programming Guideline предоставляет один ABNewPersonViewController, чтобы добавить новый контакт. Есть ли способ добавить это ко всему сборщику контактов в качестве дерева навигации? Кто-нибудь видит похожие примеры кода в списке примеров Apple (слишком много, чтобы узнать)?

Другая связанная с этим проблема заключается в том, что, когда отображается контроллер выбора людей, он появляется с анимацией снизу вверх. Есть ли способ управлять своей анимацией слева, как и анимация навигации по сверлению?

ответ

1

Моя рекомендация: используйте ABPeoplePickerNavigationController и добавьте панель инструментов внизу, в которой есть кнопка Добавить. Кнопка «Добавить» откроет ABNewPersonViewController.

+0

Это хорошее предложение. Однако, поскольку у меня нет доступа к контроллеру выбора, и он отображается как модальный вид, не уверен, как добавить панель инструментов в ее нижнюю часть? Просто добавьте панель инструментов после отображения контроллера? Как насчет маленькой кнопки с «+» и прозрачным фоном? –

+0

ABPeoplePickerNavigationController - это подкласс UINavigationController. Просто используйте свойство панели инструментов, чтобы установить toolbarItems и toolbarHidden = NO, чтобы отобразить панель инструментов. –

0

Чтобы сделать то, что вы пытаетесь сделать, вам нужно создать собственный контроллер, который заполняет ячейки таблицы с помощью API AB. Вы можете нажать контроллер на свой существующий контроллер навигации, чтобы получить нужную анимацию, и использовать ABNewPersonViewController для добавления новых записей.

+0

Я думал об этом варианте, и это не должно быть слишком сложно сделать. Однако, если есть какие-либо другие варианты, доступные для повторного использования вида контроллера AB, я бы предпочел не изобретать свое колесо. –

Смежные вопросы