0

iPhone アプリのすべてのナビゲーション バーの色を緑がかった色から濃い灰色に変更する必要があります。これを行う最も簡単な方法は何ですか? 簡単な方法はありますか、それとも1つずつ行かなければなりませんか? ほぼ 100 回のビューがあり、これには非常に時間がかかります。どんな助けでも大歓迎です。

4

2 に答える 2

1

あなたが探してUIAppearanceいるのは、物事の将来のすべてのインスタンスを一度に変更できるようにすることです。 https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40010906

于 2013-06-27T17:50:51.440 に答える
1

次のように Appearance Proxy を使用します。

UINavigationBar *navBarAppearance = [UINavigationBar appearance];
navBarAppearance.tintColor = [UIColor darkGrayColor];

このコードをアプリケーション起動シーケンスのどこかに配置します。作成したすべてのインスタンスのUINavigationBar色合いを設定し、既存のインスタンスについても設定します(再描画などが必要になる場合があります)。

サポートされているクラスを呼び出す[<class> appearance]と、そのクラスの特別なインスタンスが返されます (実際には完全に異なるクラスである可能性がありますが、それは問題ではありません)。Appearance Selectors としてマークされているこのインスタンスのメソッドを呼び出すことができます。ドキュメントでは、「外観のカスタマイズ」セクションにリストされていることがよくあります。他のメソッドを呼び出すと、おそらく例外が発生します。

UINavigationBarこれは、サポートされている外観方法を含むドキュメントからの抜粋です。

バーの外観のカスタマイズ

  tintColor
– backgroundImageForBarMetrics:
– setBackgroundImage:forBarMetrics:
– titleVerticalPositionAdjustmentForBarMetrics:
– setTitleVerticalPositionAdjustment:forBarMetrics:
  titleTextAttributes

他の多くのクラスがこのプロトコルをサポートしています。

于 2013-06-27T18:08:48.167 に答える