아이폰 프로그램 호출 시스템 통신록 단일 전화번호 선택
또한 원본 파일에 같은 파일을 포함해야 합니다.
#import<AddressBook/AddressBook.h>
#import<AddressBookUI/AddressBookUI.h>
먼저 변수를 설명합니다.
ABPeoplePickerNavigationController *picker;
필요한 곳에서 선택 연락처 인터페이스를 호출하고 ABPeoplePickerNavigationControllerDelegate 의뢰를 설정합니다.
picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];// showing the picker
아래의 방법은 사용자가 통신록 1급 목록의 어떤 항목을 선택할 때 호출된다. 개인을 통해 선택한 연락처의 모든 정보를 얻을 수 있지만 당선된 연락처는 여러 개의 번호가 있다. 우리는 사용자가 명확한 번호를 지정할 때(예를 들어 전화를 걸면) YES로 돌아가 연락처의 상세한 인터페이스에 통신록이 들어갈 수 있도록 한다.
- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person {
NSLog(@" ");
return YES;
}
사용자가 어떤 필드를 눌렀을 때 다음과 같은 방법을 사용합니다.연락처 정보에는 많은 필드가 있을 수 있으므로 먼저 선택한 필드가 전화번호 필드인지 아닌지를 판단해야 한다.요구 사항이 충족되면 연락처 정보를 얻고 식별자를 통해 사용자가 선택한 번호가 이 연락처 번호 목록에 있는 색인을 얻으며 마지막으로 색인을 통해 선택한 전화번호를 얻는다.
- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier
{
if (property == kABPersonPhoneProperty) {
ABMutableMultiValueRef phoneMulti = ABRecordCopyValue(person, property);
int index = ABMultiValueGetIndexForIdentifier(phoneMulti,identifier);
NSString *phone = (NSString*)ABMultiValueCopyValueAtIndex(phoneMulti, index);
//do something
[phone release];
[peoplePicker dismissModalViewControllerAnimated:YES];
}
return NO;
}
마지막으로 다음과 같은 방법으로 사용자가 "취소"단추를 눌렀을 때 연락처 선택 인터페이스를 닫도록 해야 한다.
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker
{
[peoplePicker dismissModalViewControllerAnimated:YES];
NSLog(@" ");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.