0

Apple カレンダー アプリで、イベントに人を招待すると、ヘッダーの下に特定のテキストが表示されます。

アップルカレンダー

私のアプリでは、ピープルピッカーも使用しています。すべての連絡先ヘッダーにユーザーのカスタム ヒントを追加したいと考えています。

マイアプリ

ボタンの IBAction:

- (IBAction)showPicker:(UIBarButtonItem *)sender {
self.addressBookController = [[ABPeoplePickerNavigationController alloc] init];
[self.addressBookController setPeoplePickerDelegate:self];
self.addressBookController.displayedProperties = [NSArray arrayWithObjects:
                                                  [NSNumber numberWithInt:kABPersonPhoneProperty],
                                                  nil];
[self presentViewController:self.addressBookController animated:YES completion:nil];

}

すべてのデリゲート メソッド:

#pragma mark Address Book Delegate

-(void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{
[self.addressBookController dismissViewControllerAnimated:YES completion:nil];
}


-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{
return YES;
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {

ABMultiValueRef phonesRef = ABRecordCopyValue(person, property);
CFStringRef currentPhoneValue = ABMultiValueCopyValueAtIndex(phonesRef, identifier);

// Some custom code working with a phone number

return NO;
}
4

1 に答える 1

1

ABPeoplePickerNavigationControllerとにかくカスタマイズする方法はないと思います。UIViewController(ユーザーへのヒントを使用しUILabelて)およびコンテナビューを作成できます。ABPeoplePickerNavigationController次に、コンテナ ビューに埋め込みます。これは、Interface Builder を介して簡単に実現できます。また、プログラムで実行することもできます。UIViewController のクラス リファレンスの概要の「コンテナー ビュー コントローラーの実装」セクションを参照してください。

アップデート

残念ながらABPeoplePickerNavigationController、ストーリーボードに直接追加することはできないようです。回避策については、この回答を参照してください。

于 2014-06-15T21:19:34.527 に答える