-1

私がやりたいことはこれです: ユーザーが「既存の連絡先を編集する」というボタンを押すと、アドレス帳の連絡先リストが開きます。ユーザーは、更新する連絡先を選択して見つけ、それを押すと、連絡先の詳細ビューが開きます。そのビューで、ユーザーが連絡先情報を編集できるようにしたいと考えています。これを行うためのパブリック API はありますか、それともすべてプライベートですか?

アプリケーションでアドレス帳を開くには、次のコードを使用します。

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];

Apple によって作成された QuickContacts アプリを見ましたが、ここでは、ユーザーが選択するのではなく、特定の連絡先のみを編集できます。誰でも私を助けることができますか?前もって感謝します!

[編集] このコード行で問題を解決しました:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{

ABPersonViewController *controller = [[ABPersonViewController alloc] init];
controller.displayedPerson = person;
controller.allowsEditing = YES;
controller.personViewDelegate = self;
[peoplePicker pushViewController:controller animated:YES];

return NO;

}

マットに感謝します!

4

1 に答える 1

2

ABPeoplePickerNavigationController を使用した後、delegate メソッドで選択された人を受け取り、ピッカーを閉じます。次に、その人物を として ABPersonViewController を使用し、 YESdisplayedPersonallowsEditing設定して、ユーザーがその人物を編集できるようにします。

または、その人物displayedPersonを ABNewPersonController の として使用します。

于 2013-05-18T02:39:46.547 に答える