3

過去数時間頭を悩ませてきた問題について、何らかの洞察を得たいと思っています。application:DidFinishLaunchingWithOptions次のメソッドを呼び出して構成されているカスタム UINavigationBar があります。

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault];

アプリケーションを XCode (シミュレーターと、コンピューターに接続された実際のデバイスの両方) で実行すると、うまく機能し、カスタム背景が表示されます。ただし、TestFlight でアプリのリリース バージョンを実行すると、標準の水色のナビゲーション バーが表示されます。メソッドの配置をうまくいじった後setBackgroundImage、「デバッグ」設定と「リリース」設定の違いに関係があると信じるようになりましたが、これらの設定がこのナビゲーションバーの問題を引き起こす場所についてはわかりません。

この問題に関するヘルプや洞察 (またはデバッグ方法) をいただければ幸いです。前もって感謝します!

4

2 に答える 2

6

私のコメントで述べたように、同様の問題に直面している場合は、画像の名前を確認し、大文字と小文字が区別されないようにする必要があります。名前付きの画像を追加した可能性がありnavBarますが、プロジェクトでそのまま使用していNavBarます。それがこの問題の理由です。シミュレータは大文字と小文字を区別しませんが、デバイスは区別します。

コードを次のように変更します。

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBar"] forBarMetrics:UIBarMetricsDefault];
于 2012-12-11T06:37:54.373 に答える
1

デバイス イメージ名では、大文字と小文字が区別されます。また、拡張機能を提供する必要があります。

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar.**png**"] forBarMetrics:UIBarMetricsDefault];

したがって、正確な名前と拡張子を確認してください。

于 2012-12-11T06:28:11.883 に答える