@interface ViewController{
UIImageView*navBarHairlineImageView;
}
2)在viewDidLoad中加入:
navBarHairlineImageView = [selffindHairlineImageViewUnder:self.navigationController.navigationBar];
3)實(shí)現(xiàn)找出底部橫線的函數(shù)
- (UIImageView*)findHairlineImageViewUnder:(UIView*)view {
if([view isKindOfClass:UIImageView.class] && view.bounds.size.height<=1.0) {
return(UIImageView*)view;? ?
?}
for(UIView*subview in view.subviews) {
UIImageView*imageView = [selffindHairlineImageViewUnder:subview];
if(imageView) {
return imageView;? ? ? ??
}? ??
}return nil;
}
4)最后在viewWillAppear,viewWillDisappear中處理
- (void)viewWillAppear:(BOOL)animated {? ??
[superviewWillAppear:animated];? ??
navBarHairlineImageView.hidden=YES;
}
- (void)viewWillDisappear:(BOOL)animated {? ??
[superviewWillDisappear:animated];??
? navBarHairlineImageView.hidden=NO;
}
===========================================================================
下面來一個(gè)最簡單的:
UINavigationBar*navigationBar =self.navigationController.navigationBar;
// bg.png為自己ps出來的想要的背景顏色。
[navigationBar setBackgroundImage:[UIImageimageNamed:@"bg.png"] forBarPosition:UIBarPositionAny ? ? ? ? ? ? ? ? ? ? ?barMetrics:UIBarMetricsDefault];
[navigationBar setShadowImage:[UIImagenew]];
這是唯一一個(gè)隱藏這條線的官方用法,但是有一個(gè)缺陷-刪除了translucency(半透明)