去掉導(dǎo)航欄self.navigationController.navigationBar下默認(rèn)黑線(xiàn)该镣。
方法一:(會(huì)影響導(dǎo)航欄的translucent透明屬性)
//視圖將要顯示時(shí)隱藏
-(void)viewWillAppear:(BOOL)animated
{
[superviewWillAppear:animated];
[self.navigationController.navigationBarsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBarsetShadowImage:[UIImagenew]];
}
//視圖將要消失時(shí)取消隱藏
-(void)viewWillDisappear:(BOOL)animated
{
[superviewWillDisappear:animated];
[self.navigationController.navigationBarsetBackgroundImage:nilforBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBarsetShadowImage:nil];
}
方法二:
@property(nonatomic,?weak)UIImageView*lineView;
//視圖加載完成獲取到導(dǎo)航欄最下面的黑線(xiàn)
-?(void)viewDidLoad?{
[superviewDidLoad];
//獲取導(dǎo)航欄下面黑線(xiàn)
_lineView?=?[selfgetLineViewInNavigationBar:self.navigationController.navigationBar];
}
//視圖將要顯示時(shí)隱藏
-?(void)viewWillAppear:(BOOL)animated
{
[superviewWillAppear:animated];
_lineView.hidden=YES;
self.navigationController.navigationBar.translucent=YES;
self.navigationController.navigationBar.barTintColor=?[UIColorwhiteColor];
}
//視圖將要消失時(shí)取消隱藏
-?(void)viewWillDisappear:(BOOL)animated
{
[superviewWillDisappear:animated];
_lineView.hidden=NO;
self.navigationController.navigationBar.translucent=NO;
self.navigationController.navigationBar.barTintColor=?[UIColorblackColor];
}
//找到導(dǎo)航欄最下面黑線(xiàn)視圖
-?(UIImageView*)getLineViewInNavigationBar:(UIView*)view
{
if([viewisKindOfClass:UIImageView.class]?&&?view.bounds.size.height<=1.0)?{
return(UIImageView*)view;
}
for(UIView*subview?in?view.subviews)?{
UIImageView*imageView?=?[selfgetLineViewInNavigationBar:subview];
if(imageView)?{
returnimageView;
}
}
returnnil;
}