web-dev-qa-db-ja.com

iOSでナビゲーションコントローラーのツールバーの色を変更するにはどうすればよいですか?

ナビゲーションバーの色を変更しようとしています。次のrgbは濃い赤色用ですが、次のコードの後でナビゲーションバーが白に変わります。

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117 green:4 blue:32 alpha:1];
16
aryaxt

これは、CGFloatの値の範囲が0.0 to 1.0からではなく0 to 255であり、1.0を超える値が1.0として解釈されるためです。

ドキュメントは次のとおりです。 IColor

28
Oscar Gomez

これを行うだけです:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];
16
TommyG

各値を255に分割する必要があります。試してください。

[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]
6
fncap

WebまたはPhotoshopのようなものから来た場合、16進数の色を使用する方が簡単であることがわかりました。このマクロは次の目的で使用できます。

//RGB color macro
#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

そして、次のように使用します。

self.navigationBar.tintColor = UIColorFromRGB(0xd8dadf);
3
monzonj

ああ、これは面白い。本当の答えは、.tintColorがナビゲーションコントローラーのナビゲーションアイテムの色を設定することです([完了]ボタンなど)。

0
broken_image