2014-11-02 9 views
2

IOS 8 명 피커 대리인 코드에서 이상한 문제가 발생했습니다.IOS 8 - ABPeoplePickerNavigationController - 대리자 방법 취소 작동 다른 사람

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker; 
{ 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 

메서드가 호출되고 있습니다. 나는 다른 질문을 검토하고 기존 IOS 7 방법을

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier: (ABMultiValueIdentifier)identifier { 
    [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person property:property identifier:identifier]; 
} 

를 호출하여 대화 상대를 선택하는 중요한 IOS 8 위임 방법을 변경 한 있지만 호출되지 않습니다.

내가 didLoad의 ViewController 호출에 대리자를 설정하고

, 그것은 IOS 7에서 완벽하게 작동이 스토리 보드 응용 프로그램입니다.

은 여기 댓글에 질문 같은 질문을했다 : ABPeoplePickerNavigationController changes with iOS8?

을하지만 답을 찾을 수 없다. 분명히 내 부분 어딘가에 실수,하지만 그것을 찾을 수 없습니다.

UPDATE : 그것은 안타

@interface TreatmentsAddEntryTVC : UITableViewController<UITextViewDelegate,ABPeoplePickerNavigationControllerDelegate> 

답변

0

대신이 위임 방법을 사용하여 시도하고 참조 : @ 인터페이스에,

self.picker = [[ABPeoplePickerNavigationController alloc] init]; 
self.picker.peoplePickerDelegate = self; 

그리고 : 요청으로, 여기에 내가 대리자를 설정하는 방법입니다

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person; 
{ 
    // yes the below line is deprecated as of iOS 8 
    [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person]; 
} 
+0

나는 이미 가지고있다. 그리고 그것은 맞지 않는다. – jmf1205

+0

보기 컨트롤러의 .h 파일에있는 "@ interface"선언에 "''"를 추가 했습니까? 또한보기 컨트롤러에서 대리자를 설정하는 방법을 보여주기 위해 질문을 편집해야합니다. –

+0

선언을 다음과 같이 변경하십시오. "@interface TreatmentsAddEntryTVC : UITableViewController " "무슨 일이 일어나는지보십시오. –

0

내 대답은 싫지만 특히 대답이 의미가 없지만 움직이는 경우 :

self.picker = [[ABPeoplePickerNavigationController alloc] init]; 
self.picker.peoplePickerDelegate = self; 

didLoad에서 실제로 픽커를 표시하려는 방법으로 문제를 수정했습니다. 나는이 문제가 언급 된 곳 SO에 적어도 하나 개의 다른 질문을 본 논의했다 :

Cannot select contact on iOS 8

+0

나는 똑같은 문제에 직면하고 있으며 여기서 언급 한 것을 시도했다. 다른 해결책을 찾았습니까? 공유했다면 공유하십시오. – TKutal

+0

응답이 늦어서 죄송합니다. 그게 내가 말할 수있는 전부입니다. 당신이 아직도 붙어 있다면 나는 도움이 될만한 것을 위해 오래된 코드를 파헤치게 될 것입니다. – jmf1205

0

는 아이폰 OS 8.1, 와 프로젝트 나는이

이 방법

-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{ 
} 

교체

-(void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person{ 
} 

연락처를 선택했을 때 새로운 방법이 적용되었습니다.