iOS 5 の外観システムを使用してアプリケーションのスタイルを設定し、UIBarButtonItem のスタイルも次のように設定します。
[[UIBarButtonItem appearance] setBackgroundImage:button
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
normalColor, UITextAttributeTextColor,
[UIColor clearColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:kFontName size:kFontSize], UITextAttributeFont,
nil]
forState:UIControlStateNormal];
ただし、ナビゲーション ビュー コントローラーの開始ビュー コントローラーにはボタン項目がありますが、この画面が初めて表示されるとき、このボタンにはデフォルトの背景があります。
両方のステートメントの順序を変更すると、ボタンの背景は正しいのにテキストが間違っています。
この問題を解決する方法はありますか?