要么就是太复杂 太多了。 比如:
1
self.navigationController.navigationBar.alpha = 0;
这个什么就都透明了 没什么用[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"porfile_nav_bg@2x.png"]forBarMetrics:UIBarMetricsCompact];
self.navigationController.navigationBar.shadowImage =[UIImageimageNamed:@"top_01.png"];
这个虽然透明了还是会留下一条黑线
还有其他的 代码特别多就不写了
正确方法:
[self.navigationController.navigationBarsetBackgroundImage:[selfimageWithColor:[UIColor clearColor]]
forBarPosition:UIBarPositionAny
barMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBarsetShadowImage:[UIImagenew]];
- (UIImage *)imageWithColor:(UIColor *)color
{
// 描述矩形
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
// 开启位图上下文
UIGraphicsBeginImageContext(rect.size);
// 获取位图上下文
CGContextRef context =UIGraphicsGetCurrentContext();
// 使用color演示填充上下文
CGContextSetFillColorWithColor(context,[color CGColor]);
// 渲染上下文
CGContextFillRect(context, rect);
// 从上下文中获取图片
UIImage *theImage =UIGraphicsGetImageFromCurrentImageContext();
// 结束上下文
UIGraphicsEndImageContext();
return theImage;
}