2012-10-02 19 views
5

こんにちは、私は私のナビゲーションバーの影の画像を設定するためにこのコードを使用しています:私は確かに言うことはできませんが(これが唯一のiOS 6であるようだが外観プロキシ - iOS 5の代わりになるsetShadowImage?

if ([self.navigationController.navigationBar respondsToSelector:@selector(shadowImage)]) { 

    [[UINavigationBar appearance] setShadowImage:[UIImage imageNamed:@"nav-bar-shadow"]]; 

    [[UIToolbar appearance] setShadowImage:[UIImage imageNamed:@"tool-bar-shadow"] forToolbarPosition:UIToolbarPositionAny]; 
} 

を - 私はについてのドキュメントを見つけることができませんこれはどこでも)。 iOS 5では動作しません。

何か別の選択肢がありますか?グローバルに画像をnavbarの下に設定していますか? カスタムUIViewについて考えましたが、これをグローバルに行う方法はありますか?

答えて

1

次のことが可能です。

  1. はあなたviewController.view
  2. あなたのウィンドウ上でグローバルに画像が追加されますされ、あなたの[[UIApplication sharedApplication] keyWindow]に影画像を含むサブビューを追加する影画像を含むサブビューを追加します。しかし、それは少し醜い得ることができます。モーダルビューコントローラを表示するときに使用します。 ios6があるだけで[[UINavigationController alloc] initWithNavigationBarClass:[YourNavBarSubclass class] toolbarClass:[UIToolbar class]]
0

のShadowImageを経由してあなたのnavigationControllerを初期化し、その後

  • あなたは、UINavigationBarをサブクラス化することができ、そこにサブビューを持ついくつかの魔法を行うと:

    @property(nonatomic,retain) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR; 
    
  • 関連する問題