2010-03-13 14 views
3

이것은 내가 사람들 선택기를 호출 사용하고 코드이지만, 프롬프트 레이블 텍스트는 변경되지 않습니다ABPeoplePickerNavigationController의 프롬프트를 어떻게 설정합니까?

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 
picker.peoplePickerDelegate = self; 
picker.displayedProperties = [NSArray arrayWithObjects: [NSNumber numberWithInt:kABPersonEmailProperty], nil]; 

picker.navigationItem.prompt = @"Choose a contact to..."; 

[self presentModalViewController:picker animated:YES]; 

답변

1

으로 라인

picker.navigationItem.prompt = @"Choose a contact to..."; 

위의 코드에서 대체 :

picker.navigationBar.topItem.title = @"iPhone Contacts"; 

을 그리고 당신과 함께 프롬프트를 변경할 수 있습니다

picker.navigationBar.topItem.prompt = @"iPhone Contacts"; 
+0

picker.navigationBar.topItem.title = @ "아이폰 연락처"; 제목을 변경하지 않습니다. 어떤 생각? –

1

난 그냥이 작업을 수행 할 수있는 방법을 우연히 발견했습니다. 그러나, 나는 그것이 최선의 방법이라고 확신하지 못한다. 그냥 당신이 제목 변경할 수 있습니다

picker.navigationBar.topItem.prompt = @"Choose a contact to..."; 
6

중요한 정보가 있습니다. mi 다른 대답들에 대해 말하면서, 그리고 명백하지는 않습니다. 이처럼한다면, 그것은 작동, 그래서

[self presentModalViewController:picker animated:YES]; 

:

[self presentModalViewController:picker animated:YES]; 
picker.navigationBar.topItem.prompt = @"Choose a contact to..."; 
0

당신은 당신이 필요로하는 ABPeoplePickerNavigationController 하위 클래스라는 경우 당신은 후 라인을 프롬프트 를 설정해야 보기 컨트롤러가 눌려지면 이것을 설정하십시오. 이는 Johan이 제안한 것과 동일한 것을 달성하는 것에서 효과적이지만 수업 내에서 발생합니다. 그래서 같은 ABPeoplePickerNavigationController에서

구현 다음 위임 방법 :

-(void)navigationController:(UINavigationController *)navigationController 
    willShowViewController:(UIViewController *)viewController 
        animated:(BOOL)animated 
{ 
    [[[self navigationBar] topItem] setPrompt:@"test"]; 
} 
관련 문제