2010-07-01 2 views
1

ABPeoplePickerNavigationController에서 필터링 된 연락처 목록을 표시하고 싶습니다. 전자 메일 주소를 가진 사람이 표시되어야하며 전자 메일 주소가없는 사람은 목록에 없어야합니다.ABAddressBook 필터링 된 연락처

미리 감사드립니다.

답변

-1

이메일 주소와 동일한 방식으로 아래 링크를 사용할 수 있습니다. Can't set the addressBook property of ABPeoplePickerNavigationController without crashing

유일한 문제는 오류의 원인이되는 ABAddressBookRemoveRecord 때문입니다.

나는 모든 연락처를 반복하고 전자 메일 주소가있는 연락처의 이름을 가져 와서 전자 메일 주소를 가져옵니다. 그런 다음 TableView에 두십시오.

0

안녕하세요,이

-(BOOL)peoplePickerNavigationController: 
(ABPeoplePickerNavigationController *)peoplePicker 
shouldContinueAfterSelectingPerson:(ABRecordRef)person 
{ 
    if(!ABRecordCopyValue(person,kABPersonEmailProperty) //Check if email field is empty 
    { 
     [peoplePicker dismissModalViewControllerAnimated:NO]; //dismiss the person with email field empty 
    } 
    return YES; 
    } 
} 

망가

즉 .H 파일에 태그를 사용하여 인터페이스에 대리인을 추가하는 것을 잊지 수행 할 peoplePickerNavigationController 위임을 사용할 수 있습니다

#import <UIKit/UIKit.h> 
#import <AddressBook/AddressBook.h> 
#import <AddressBookUI/AddressBookUI.h> 

@interface ViewController : UITableViewController<ABNewPersonViewControllerDelegate,ABPeoplePickerNavigationControllerDelegate,ABPersonViewControllerDelegate,UIAlertViewDelegate>