2011年11月23日水曜日

UISearchBarに画像を設定する

UISearchBarに画像を設定するには、UISearchBarBackgroundビューを入れ替えてやります。


// searchBarはUISearchBarのインスタンス
for (UIView *v in searchBar.subviews) {
if ([NSStringFromClass(v.class) isEqualToString:@"UISearchBarBackground"]) {
[v removeFromSuperview];
}
}
UIImage *img = [UIImage imageNamed:@"custom_searchbar"];
UIImageView *iv = [[UIImageView alloc] initWithImage:img];
[searchBar insertSubview:iv atIndex:0];
[iv release];


1.UISearchBarのサブビューからUISearchBarBackgroundを探し、サーチバーから削除します。
2.UISearchBarBackgroundが合った場所にUIImageViewを挿入すれば画像が表示されるようになります。
  (custom_searchbarは背景に使用する画像ファイル名です。)