iOS自我学习库

iOS 隐藏导航栏底部的线条

2018-10-14  本文已影响76人  巴赫海兹
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc]init]forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; 
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
1 声明UIImageView变量,存储底部横线 
@implementation MyViewController 
{ 
UIImageView *navBarHairlineImageView; 
} 
2 在viewDidLoad中加入: 
navBarHairlineImageView = [self findHairlineImageViewUnder:navigationBar]; 
3 实现找出底部横线的函数 
- (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 = [self findHairlineImageViewUnder:subview]; 
if (imageView) { 
return imageView; 
} 
} 
return nil;
4 最后在viewWillAppear,viewWillDisappear中处理 
- (void)viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated]; 
navBarHairlineImageView.hidden = YES; 
} 
- (void)viewWillDisappear:(BOOL)animated { 
[super viewWillDisappear:animated]; 
navBarHairlineImageView.hidden = NO; 
}
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc]init]];
上一篇下一篇

猜你喜欢

热点阅读