2012-08-07 1 views
0

현재 iPhone 응용 프로그램에서 ABPeoplePickerNavigationController를 사용하여 응용 프로그램에서 연락처 화면을 만든 다음 전자 메일 필드를 선택하면 이전 화면으로 표시되지만 응용 프로그램에서 사용자가 전자 메일 ID를 선택하는 것을 허용하면 안됩니다. 이 행동을 취하기 위해서? 아래에서 참조 용 스크린 샷을 언급했습니다. 제발 도와주세요. 사전에iPhone의 연락처 정보 화면에 액세스 할 수 있습니까?

덕분에

enter image description here

+0

당신은 "나는 단지 전화 번호 필드에 액세스하려면"무엇을 의미합니까 – ahmad

+0

앱이 사용자가 이메일 아이디 – SampathKumar

+0

R이 유를 선택할 수 있도록하지 않겠습니까? 답장을 보내 주셔서 감사합니다. – SampathKumar

답변

4

다음과 같이 대리자 메서드 및 속성을 사용하여 조건을 확인합니다.

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

    if(property == kABPersonPhoneProperty) 
    { 
     [self dismissModalViewControllerAnimated:YES]; //This should be here only if phone property is there. 
    } 

    return NO; 
} 
+0

답장을 보내 주셔서 감사합니다. 다시 확인해 드리겠습니다. – SampathKumar

+0

감사합니다. – SampathKumar

1

후 적절한 프로토콜 이벤트에 응답하는 방법을 쓰기 (예를 들어 ABPersonViewControllerDelegate 또는 ABPeoplePickerNavigationControllerDelegate) 및 해당 AddressBookUI.framework 유형의 대리자로보기 컨트롤러를 지정합니다 (예 : shouldPerformDefaultActionForPerson를 또는 shouldContinueAfterSelectingPerson). Address Book UI Framework Reference에서 프로토콜 참조를 확인하십시오.

관련 문제