2012-02-11 5 views
0

navigation barに色を追加するにはどうすればいいですか?私はiOS 4以上のためにこれを実装する必要があります。uinavigationbarに色を追加する

私はスクリーンショットの1に近い色をしたい:iOSの< 5では

App Screenshot with magenta-ish UINavigationBar color

+0

[UINavigationBarの色を変更する方法とそのボタンを複製する方法は?](http://stackoverflow.com/questions/1636794/how-to-change-color-of-the-uinavigationbar-buttons-on-it )...受け入れられた答えを無視する;-) –

+0

1つのコードパスを4に、1つを5にすることはできますが、OSバージョンをオンにしないでください。 respondsToSelectorでテストします。 http://stackoverflow.com/questions/7800474/custom-uitabbar-background-image-not-working-in-ios-5/7801253#7801253 – bryanmac

答えて

1

あなたは例えば、直接個々のナビゲーションバーの色合いの色を設定することができます。

// self is a UIViewController 
[self.navigationController.navigationBar setTintColor:[UIColor purpleColor]]; 

たら、 iOS 4.xとの互換性は必要ありません。UINavigationBarの外観プロキシを使用できます。これは、アプリケーション内のすべてのナビゲーションバーのために働くだろう:

[[UINavigationBar appearance] setTintColor:[UIColor purpleColor]]; 
+0

iOS 4コードのみを使用すると動作しますiOS 4と5の両方で – sharon

+0

最初はiOS 4と5の両方で動作しますが、唯一の欠点は、アプリケーション内に複数のナビゲーションバーがあると、それぞれ別々に色を設定する必要があることです。 – ayoy

+0

respondsToSelector経由でテストしたり、切り替えたりすることもできます。関連する例はこちらをご覧ください:http://stackoverflow.com/questions/7800474/custom-uitabbar-background-image-not-working-in-ios-5/7801253#7801253 – bryanmac

2

あなたが投稿の例では、それが原因でわずかな照明効果のよりbackroundのイメージのように見えます。 (それはあなたが密接に見て、真ん中に明るいです。IBでは、私はナビゲーションバーには、以下の背景画像に透明な黒に設定されている。(320×44px)

時間ファイル。

IBOutlet UINavigationBar *navBar; 

メートルファイル "のviewDidLoad" 機能:

navBar.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"nav"]]; 

enter image description here

enter image description here

+0

私はあなたのようなものを期待していましたが、 「Nav Bar」と「電池の寿命を示す小さなバー」の間に、どうやって小さなスペースを確保しましたか? – sharon

+0

実際には、気づいてくれてありがとう。私のmainViewControllerの画像ビューです。ウインドウはステータスバーの後ろの一番上まで来ているので、修正する必要がありますが、イメージビューの寸法を設定すると、UIImageViewをフル320x480にした後、xを160に設定しますセンター)、yは240の代わりに220になり、ステータスバーの後ろにプッシュされます。ステータスバーは20pxの高さで、たとえ「コンテナを垂直に塗りつぶしても、手作業で動かす必要があります。」 – jhilgert00

+0

これはxcode 4.2.1、iOS 5シミュレータからのものです。 。 – jhilgert00

関連する問題