ABPeoplePickerNavigationControllerのキャンセルボタンを無効にし、新規追加ボタンを実装する

viewController内に以下のようにインターフェースを宣言します。

@interface ABPeoplePickerNavigationController (Expose)

@property (nonatomic, assign) BOOL allowsCancel;

@property (nonatomic, assign) BOOL allowsCardEditing; @end

同じファイル内に、以下のように設定します。

ABPeoplePickerNavigationController *contactsNavController = [[ABPeoplePickerNavigationController alloc] init];

contactsNavController.tabBarItem.title = @”連絡先”;

contactsNavController.allowsCancel = NO;

contactsNavController.allowsCardEditing = YES;

contactsNavController.peoplePickerDelegate=self;

①allowsCancel というのがキャンセルボタンの有効/無効の設定です。この行を設定することで、キャンセルボタンがなくなります。

②その下にあるallowsCardEditing を設定するとキャンセルボタンのあった箇所に新規追加ボタンが表示され、連絡先の名前をクリックした詳細画面で編集が出来るようになります。

①だけでは、キャンセルボタンがなくなるのみです。詳細画面では編集は出来ません。詳細情報を表示させるだけです。

①+②では、キャンセルボタンの代わりに新規追加ボタンが表示され、名前を選択したあとの詳細画面で編集が出来るようになります。

あまり必要ではないのかもしれませんが、新規追加ボタンだけを実装し、詳細画面で編集は無効にするというのは、上記のコードでは実装出来ません。(というか、どうなんだろうと思った程度で、詳しく調べていませんので、実装可能なのかさえ分かりません。。。汗)

ABPeoplePickerNavigationControllerリファレンス

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です