あなたの質問はHow can I change strings of "Cancel" button, "No Results" label in UISearchBar of UISearchDisplayController?
の重複している可能性がありここが与えられた解答の修正です:
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller
shouldReloadTableForSearchString:(NSString *)searchString {
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.001);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
for (UIView* v in self.sbc.searchResultsTableView.subviews) {
if ([v isKindOfClass: [UILabel class]] &&
[[(UILabel*)v text] isEqualToString:@"No Results"]) {
// .. do whatever you like to the UILabel here ..
break;
}
}
});
return YES;
}
は基本的にあなたがする求めているものを表示しているUILabelにアクセスするだけです"結果なし"テキスト。それを行う公式な方法はありません。このページで提案されている回避策は、(検索結果テーブルのすべてのサブビューを列挙して)UILabelを探して変更することです。私は一般的にこのようなことを奨励することはできませんが、Appleがこの「No Results」ラベルをつかむための公式な方法を提供することを断っていることは間違いありません。
デバイス言語が英語でない場合、これは機能しません。 –
@AlastairStuart良い点。剣で生きる者は剣で死ぬ。私はこれが賢明な回避策だと言った。 Appleは本当にこれを公式にカスタマイズする必要があります。 – matt