Tại sao không hiển thị sổ địa chỉ và cho phép người dùng chọn và địa chỉ email?
Thêm khung AddressBook và AddressBookUI vào dự án của bạn. Nhập chúng vào .h và thêm giao thức ABPeoplePickerNavigationControllerDelegate.
Sau đó gọi cuốn sách địa chỉ:
- (void) chooseContact:(id)sender {
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
Bạn thực hiện một số phương pháp yêu cầu đại biểu để có được một địa chỉ email và bỏ qua những Address Book:
// call when the user cancel
- (void) peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
[self dismissModalViewControllerAnimated:YES];
}
Hãy để cho người dùng nhập vào thông tin chi tiết xin liên hệ:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
return YES;
}
Sau đó, hãy thực hiện những gì bạn đã chọn với địa chỉ email:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
if (property == kABPersonEmailProperty) {
//assumed you have a property email in your class
self.email = (NSString *)ABRecordCopyValue(person, kABPersonEmailProperty);
[self dismissModalViewControllerAnimated:YES];
}
return NO;
}