其实就是把NavigationBar的背景图设置为一张透明的图片
可以直接用一张透明的图片:
- (void)setNavigationBarType {
self.navigationController.navigationBar.clipsToBounds = YES;/**<这是去掉navigationBar周围的阴影,如果不设置会出现一条横线*/
UIImage *image = [UIImageimageNamed:@"透明"];
[self.navigationController.navigationBarsetBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}
也也可以用代码做一张透明图片,然后加上:- (void)setNavigationBarType {
self.navigationController.navigationBar.clipsToBounds = YES;/**<这是去掉navigationBar周围的阴影,如果不设置会出现一条横线*/
CGRect rect = CGRectMake(0,0, ScreenWidth,64);/**< 区域大小*/
UIGraphicsBeginImageContext(rect.size);
CGContextRef context =UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColorclearColor].CGColor);/**<用透明颜色去填充这块区域*/
CGContextFillRect(context, rect);/**<创建区域*/
UIImage *image =UIGraphicsGetImageFromCurrentImageContext();/**<生成图片*/
UIGraphicsGetCurrentContext();
[self.navigationController.navigationBarsetBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}