ナビゲーションバーに立体感を持たせる感じで、ほんのり影をつける方法を探してココを見つけました。
http://stackoverflow.com/questions/5940076/how-to-create-uinavigationbar-drop-shadow
ありがたい情報を参考にして、こんな感じで。
私の場合、UINavigationControllerのサブクラス(MyNavigationController:クラス名は適当..)を使っているためこんなコードで実現できました。
ヘッダファイルに "#import <QuartzCore/QuartzCore.h>"を追加した後、ソースファイルをこんな感じで修正
// MyNavigationController.m - (void)viewDidLoad { [super viewDidLoad]; // ... // drop shadow CALayer *layer = self.navigationBar.layer; layer.masksToBounds = NO; layer.shadowColor = [[UIColor blackColor] CGColor]; layer.shadowOffset = CGSizeMake(1.0f, 1.0f); layer.shadowRadius = 3.0f; layer.shadowOpacity = 1.0f; }
アニメーションしたりするときは、layer.shouldRasterize = YES; とかしておくといいらしいです(未検証).
あと、layerに設定している各種プロパティの値については、こちらのブログで細かく検証されていました。すばらしー。
頭と尻尾はくれてやる!- 画像に影を付けたいのでいろいろプロパティをいじってみた