ViewWillAppear で TintColor がプログラムで設定されているいくつかの UIBarButtonItems を含む 6.1 SDK を使用してコンパイルされた iOS アプリがあります。
UIBarButtonItem leftButton = new UIBarButtonItem(...);
leftButton.TintColor = UIColor.FromRGB(231, 231, 231);
結果的にこうなりました。
iPhone を 7.0 にアップグレードしましたが、デバイスの下位互換性のために 6.1 SDK 用にビルドする必要があります (ビジネス上の理由から)。
6.1 SDK を使用してアプリをビルドし、iOS 7.0 を実行している iPhone で実行すると、ツールバーは次のようになります。
iOS 7 UI Transition Guide を読んだ後、UIWindow の TintColor を設定して、これが効果があるかどうかを確認してみました。それはしませんでした。
興味深いことに、このフォームで ActionSheet を表示すると、ActionSheet を閉じた後、[キャンセル] ボタンと [保存] ボタンの背景が「黒」から「白」に変わります。なぜこのようなことが起こるのか、現在調査中です。
iOS 7.0 で TintColor をプログラムで変更できない場合は、このようにボタンのカスタム背景画像を作成することを考えています。
また、SetBackgroundImage を使用して既存の背景をオーバーライドします。
前もって感謝します。
更新 - 09.24.13
poupou の回答は、8:37 に解決策を提供してくれた WWDC ビデオ (リンク) を教えてくれました。特定のボタンの TintColor を設定する代わりに、ナビゲーション バーの TintColor を設定する必要があります。
NavigationBar.TintColor = UIColor.FromRGB(231, 231, 231);