我想将UINavigationBar的颜色更改为我选择的纯色。在IB中,我为Background和Tint属性添加了纯色。但是,酒吧下面有一个阴影。如何在不继承UINavigationBar的情况下删除它?如果没有,那么如何进行子类化呢?
答案 0 :(得分:0)
我最后继承了UINavigationBar,如下所示:
#import <UIKit/UIKit.h>
@interface MyNavigationBar : UINavigationBar <UINavigationBarDelegate> {
}
@end
在.M文件中我覆盖了这个
- (void)drawRect:(CGRect)rect {
UIColor * color = [UIColor colorWithRed:255/255.0f green:255/255.0f blue:255/255.0f alpha:1.0f];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
CGContextFillRect(context, rect);
}
注意:我出于某种原因无法使用[UIColor whiteColor] - 它默认为黑色,所以我最终使用了colorWithRed:green:blue:而不是。
对我来说效果很好。
答案 1 :(得分:0)
您可以将UINavigationBar的shadowImage设置为[[UIImage alloc] init]以删除阴影。这只适用于iOS 5.0+。