2013-02-28 4 views
1

를 탈위 솔루션 : hereABPeoplePickerNavigationController 탐색 barStyle BlackTranslucent 바 스타일로 레이아웃

코드 :

- (void)showPeoplePickerController 
{ 
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 
picker.peoplePickerDelegate = self; 

NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty], 
          [NSNumber numberWithInt:kABPersonEmailProperty], 
          [NSNumber numberWithInt:kABPersonBirthdayProperty],[NSNumber numberWithInt:kABPersonAddressProperty],nil]; 

picker.displayedProperties = displayedItems; 
picker.navigationBar.barStyle = UIBarStyleBlack; 

// picker.navigationBar.translucent = YES; //uncommented for translucent bar 


[self.navigationController presentModalViewController:picker animated:YES]; 

} 

그러나 PeoplePicker에서 어떻게 변경합니까?

+0

일부 코드 공유 ... ABPeoplePickerNavigationController 탐색 막대 스타일을 추가하는 방법 ... – Vishal

+0

@Vishal : 내 편집을 참조하십시오. –

답변

0

확인이 대신에 :

[self.navigationController presentModalViewController:picker animated:YES];

아래처럼 ABPeoplePickerNavigationController 표시 : 왜 당신은을 사용하는 picker.navigationBar.tintColor=[UIColor blackColor];

+0

이것이 내가 직면 한 문제에 대한 해결책이라고 생각하지 않습니다. iOS4.2에서 틴 컬러가 작동하지 않고 presentviewcontroller가 iOS6에서 작동하지만 반투명 막대에서 테이블 뷰가 올라간다는 문제를 해결하는 방법은 무엇입니까? –

0

:

[self.navigationController presentViewController:picker animated:YES completion:nil]; 

그리고 바 색상

는이 라인을 확인 반투명 네비게이션 바? 피커 뷰 컨트롤러는 반투명 탐색 막대와 함께 사용되지 않습니다.

당신이 그렇게 할 이유가있는 경우, 당신은 콘텐츠를 몇 가지 해킹을해야 할 것 올바르게 표시 할 :
당신은 수 있도록 표시 테이블보기의 contentInset 속성을 수정해야하는 콘텐츠 시작 탐색 바 아래에 있습니다.

BUT : 표시된 테이블보기에 액세스 할 수있는 방법이 없습니다. 죄송합니다.