添加UINavigationBar Shadow Application Wide?

Jos*_*ane 1 iphone objective-c uinavigationbar

有一些关于如何向UINavigation栏添加阴影的教程,但是有哪种方法最适合添加这个阴影应用程序,而不是单个实例?

或者我唯一的选择是在我的应用程序的每个视图中简单地使用一个子类nab条?认为可能有比这更快,更简单的方法?

谢谢.

edc*_*591 5

创建一个UINavigationBar被调用的类别UINavigationBar+dropshadow.m并将其放入文件中

#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
Run Code Online (Sandbox Code Playgroud)