実際には、appearance プロトコルを使用する必要があります。UISearchBar の単一のインスタンスに対して変更することができます。
UIImage *searchBg = [UIImage imageNamed:@"search_bar.png"];
[searchBar setBackgroundImage:searchBg];
または、異なるシーンに複数の検索バーがある場合、これはすべてのインスタンスをテーマにします (ただし、AppDelegate のような賢明な場所で呼び出して、バーが表示される前にすべて正しく設定されていることを確認してください)。
UIImage *searchBg = [UIImage imageNamed:@"search_bar.png"];
[[UISearchBar appearance] setBackgroundImage:searchBg];
更新: OK、検索バーの背景を変更するには、次のいずれかを使用する必要があります。
searchBar の単一インスタンス:
[searchBar setSearchFieldBackgroundImage:searchBg forState:UIControlStateNormal];
UISearchBars のすべてのインスタンス:
[[UISearchBar appearance] setSearchFieldBackgroundImage:searchBg forState:UIControlStateNormal];
お役に立てれば。