Xcode 5から6にアップグレードされ、検索バーの色が黒になりました。
ストーリーボードの右ペイン> [バーの色合い]で色を変更して色をクリアしようとしましたが、まだ黒のままです。
また、プログラムで試してみました:
[self.searchBar setTintColor:[UIColor clearColor]];
まだ黒い:(
何か案は?
UINavigationBarによく似た検索バーのtintColor
プロパティは、ボタンの色を変更し、実際の検索バーの背景ではなく、点滅するカーソルの色を変更します。使用したいのはbarTintColor
プロパティです。
searchbar.barTintColor = [UIColor orangeColor];
searchbar.tintColor = [UIColor greenColor];
次のい、しかし有益な結果を生成します。
完全に透明な検索バーを使用する場合は、背景画像も設定する必要があります。
searchbar.barTintColor = [UIColor clearColor];
searchbar.backgroundImage = [UIImage new];
EDIT:のサブビューを走査および変更しないことを強くお勧めします他の回答で提案されているように、anyUIKitオブジェクト。 Appleのドキュメントから:
UIKitおよび他のシステムフレームワークで宣言された複雑なビューの場合、通常、ビューのサブビューはプライベートと見なされ、いつでも変更される可能性があります。したがって、これらのタイプのシステム提供ビューのサブビューを取得または変更しようとしないでください。その場合、将来のシステム更新中にコードが破損する可能性があります。
https://developer.Apple.com/documentation/uikit/uiview/1622614-subviews
IOS 9でSwift 2.0この方法で変更しました:
let image = UIImage()
searchBar.setBackgroundImage(image, forBarPosition: .Any, barMetrics: .Default)
searchBar.scopeBarBackgroundImage = image
オンSwift 3:
SearchBarの背景を空の画像に設定する:
searchBar.setBackgroundImage(image, for: .any, barMetrics: .default)
searchBar.scopeBarBackgroundImage = image