質問

このコードを使用している人にピッカーが、迅速なラベルテキスト変わりません:

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];
役に立ちましたか?

解決

あなたはとタイトルを変更することができます:

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

そして、あなたがして、プロンプトを変更することができます:

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

他のヒント

があり他の回答に不足している情報の重要な部分であり、非常に明白ではありません。あなたは、プロンプトのを設定する必要がありますの行の後:

[self presentModalViewController:picker animated:YES];

あなたはこのようにそれを行うのであれば、それは動作します:

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

私はこれを行う方法につまずいてきました。しかし、私はそれが最善の方法だか分かりません。ちょうどライン上のコードに置き換えます。

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

タグ付き
picker.navigationBar.topItem.prompt = @"Choose a contact to...";

だサブclassingのABPeoplePickerNavigationControllerこれを設定する必要がありま一度のコントローラーを押します。これは何のこのリヨハン提案が内部からのクラスです。

のABPeoplePickerNavigationControllerは以下を実装する委譲方法はこのように:

-(void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)viewController 
                   animated:(BOOL)animated
{
    [[[self navigationBar] topItem] setPrompt:@"test"];
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top