我想将UINavigationBar的颜色更改为我选择的纯色 . 在IB中,我为Background和Tint属性添加了纯色 . 但是,酒吧下面有一个阴影 . 如何在不继承UINavigationBar的情况下删除它?如果没有,那么如何进行子类化呢?
我最终像这样继承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:而不是 .
它对我很有用 .
您可以将UINavigationBar的shadowImage设置为[[UIImage alloc] init]以删除阴影 . 这只适用于iOS 5.0 .
2 回答
我最终像这样继承UINavigationBar:
在.M文件中我覆盖了这个
注意:我出于某种原因无法使用[UIColor whiteColor] - 它默认为黑色,所以我最终使用了colorWithRed:green:blue:而不是 .
它对我很有用 .
您可以将UINavigationBar的shadowImage设置为[[UIImage alloc] init]以删除阴影 . 这只适用于iOS 5.0 .