- (IBAction)onAddressBook
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
- (IBAction)onPersonView
{
ABAddressBookRef addressBook = ABAddressBookCreate();
ABPersonViewController *personView = [[ABPersonViewController alloc] init];
personView.personViewDelegate = self;
ABRecordID recID = (ABRecordID)[lblID.text intValue];
personView.displayedPerson = ABAddressBookGetPersonWithRecordID(addressBook, recID);
personView.allowsEditing = YES;
if (personView.displayedPerson != NULL) {
[self.navigationController pushViewController:personView animated:YES];
[personView release];
}
}
- (IBAction)onAddNew
{
ABNewPersonViewController *newPerson = [[ABNewPersonViewController alloc] init];
newPerson.newPersonViewDelegate = self;
[self.navigationController pushViewController:newPerson animated:YES];
[newPerson release];
}
- (IBAction)onUnknownPerson
{
ABAddressBookRef addressBook = ABAddressBookCreate();
ABUnknownPersonViewController *unknown = [[ABUnknownPersonViewController alloc] init];
unknown.unknownPersonViewDelegate = self;
unknown.allowsAddingToAddressBook = YES;
unknown.addressBook = addressBook;
ABRecordRef unknownPerson = ABPersonCreate();
ABMultiValueRef email = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(email, CFSTR("test@naver.com"), kABHomeLabel, NULL);
ABMultiValueAddValueAndLabel(email, CFSTR("test@gmail.com"), kABHomeLabel, NULL);
CFErrorRef error;
ABRecordSetValue(unknownPerson, kABPersonEmailProperty, email, &error);
unknown.displayedPerson = unknownPerson;
[self.navigationController pushViewController:unknown animated:YES];
CFRelease(email);
CFRelease(unknownPerson);
[unknown release];
}
#pragma mark -
#pragma mark ABPeoplePickerNavigationControllerDelegate
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
[peoplePicker dismissModalViewControllerAnimated:YES];
NSString *firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
lblName.text = [NSString stringWithFormat:@"%@ %@", lastName, firstName];
ABRecordID recID = ABRecordGetRecordID(person);
lblID.text = [NSString stringWithFormat:@"%@", [NSNumber numberWithInt:recID]];
[firstName release];
[lastName release];
return NO;
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
return YES;
}
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker
{
[peoplePicker dismissModalViewControllerAnimated:YES];
}
#pragma mark -
#pragma mark ABPersonViewControllerDelegate
- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifierForValue
{
return YES;
}
#pragma mark -
#pragma mark ABNewPersonViewControllerDelegate
- (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController didCompleteWithNewPerson:(ABRecordRef)person
{
[self.navigationController popViewControllerAnimated:YES];
}
#pragma mark -
#pragma mark ABUnknownPersonViewControllerDelegate
- (void)unknownPersonViewController:(ABUnknownPersonViewController *)unknownPersonView didResolveToPerson:(ABRecordRef)person
{
[self.navigationController popViewControllerAnimated:YES];
}
댓글 없음:
댓글 쓰기