ナビゲーションバーに立体感を持たせる感じで、ほんのり影をつける方法を探してココを見つけました。
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に設定している各種プロパティの値については、こちらのブログで細かく検証されていました。すばらしー。
頭と尻尾はくれてやる!- 画像に影を付けたいのでいろいろプロパティをいじってみた

0 件のコメント:
コメントを投稿