UINavigationバーにシャドーを追加する方法を示すチュートリアルはありますが、単一のインスタンスではなく、このシャドウアプリケーションを追加するのに最適な方法はありますか?UINavigationBar Shadow Application Wideを追加しますか?
または、私のアプリケーションのすべての単一のビューにサブクラスのナブバーを置くだけの唯一のオプションはありますか?それより速く、簡単な方法があるかもしれないと思った?
ありがとうございました。
UINavigationバーにシャドーを追加する方法を示すチュートリアルはありますが、単一のインスタンスではなく、このシャドウアプリケーションを追加するのに最適な方法はありますか?UINavigationBar Shadow Application Wideを追加しますか?
または、私のアプリケーションのすべての単一のビューにサブクラスのナブバーを置くだけの唯一のオプションはありますか?それより速く、簡単な方法があるかもしれないと思った?
ありがとうございました。
あなたはiOS6で作業している場合は、あなたがそれを行うために外観プロキシを使用することができますUINavigationBar+dropshadow.m
と呼ばれるUINavigationBar
のカテゴリを作成し、ファイルに
#import <QuartzCore/QuartzCore.h>
@interface UINavigationBar (dropshadow)
-(void) applyDefaultStyle;
@end
@implementation UINavigationBar (dropshadow)
-(void)willMoveToWindow:(UIWindow *)newWindow{
[super willMoveToWindow:newWindow];
[self applyDefaultStyle];
}
- (void)applyDefaultStyle {
// add the drop shadow
self.layer.shadowColor = [[UIColor blackColor] CGColor];
self.layer.shadowOffset = CGSizeMake(0.0, 3.0);
self.layer.shadowOpacity = 0.25;
self.layer.shouldRasterize = YES;
}
@end
これを置きます。
ここでアップルクラスリファレンスです:コードスニペット用Appearance proxy - setShadowImage alternative for iOS 5?
:1は固定 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.htmlEDITは、iOSのバージョン(以前に誤っiOS5をした)
EDIT 2 このSOの質問を参照してくださいする必要
コードサンプルが素晴らしいです... UIAppearanceプロキシを使用してナビゲーションバーに影を追加する方法を見つけることができませんでした... –
私は申し訳ありませんが、私はコードスニペットを私の役職。 また、私はちょうど私がそれを切り替えたことに気付きました。プロキシがiOS5ではなく、シャドウで動作するためにiOS6が必要です。 修正済みです。フィードバックありがとうございます。 – JiaYow
self.clipsToBounds = NO;必要ですが、本当にうまくいった、ありがとう! –
カテゴリの(自動)回転の問題をどのように解決しますか? – DrMickeyLauer