3

UISearchBarがあり、検索マーカー(拡大鏡アイコン)を削除して、代わりにテキストを配置したい

4

4 に答える 4

15

UIAppearance メソッドを使用できます

スイフト3.0

UISearchBar.appearance().setImage(UIImage(named: "image_name"), for: .search, state: .normal)

Objective-c

[[UISearchBar appearance] setImage:[UIImage imageNamed:@"image_name"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal]; 
于 2015-10-10T09:04:30.113 に答える
2

もう少し承認された API フレンドリーな方法は、代わりに通常の UITextField を使用することです。次のコードを使用して、UITextField 内にラベルを追加します (虫眼鏡を削除したい場合、とにかく検索ボックスの魅力は何ですか?)。

UILabel *searchFieldLeftLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 32, 15)];
searchFieldLeftLabel.text = @"find:";
searchFieldLeftLabel.placeholder = @"e.g. wings, Boathouse";
searchFieldLeftLabel.font = [UIFont systemFontOfSize:14];
searchFieldLeftLabel.textColor = [UIColor grayColor];
self.searchFieldLeftLabel.leftView = locationSearchFieldLeftLabel;
[searchFieldLeftLabel release];

結果は、次のような見栄えの良いテキスト ボックスです。

ここに画像の説明を入力

テキストの入力を開始すると、プレースホルダーが置き換えられますが、ラベルは残ります。

ここに画像の説明を入力

于 2012-05-09T10:42:33.217 に答える
1

この投稿を参照してくださいUISearchbar の左側の画像を削除します。拡大鏡を変更または削除するパブリック API はありません。UITextField を使用する必要があります。

于 2012-05-09T10:29:25.450 に答える