NavigationBar底部分割线隐藏
2015-11-24 本文已影响4065人
Michael_Geng
有时我们需要实现如下场景,
(1)在同一个界面中 显示与隐藏NavigationBar底部分割线
(2)当离开这个ViewController的时候,仍然需要显示底部分割线。
效果图如下所示:
![](https://img.haomeiwen.com/i48233/beced7083b1c7e59.jpg)
![](https://img.haomeiwen.com/i48233/d71abc23d4f7f25f.jpg)
(1)定义变量
UIImageView*navBarHairlineImageView;
(2)创建findHairlineImageViewUnder方法,并在viewDidLoad中调用
- (UIImageView*)findHairlineImageViewUnder:(UIView*)view {
if([viewisKindOfClass:UIImageView.class] && view.bounds.size.height<=1.0) {
return(UIImageView*)view;
}
for(UIView*subviewinview.subviews) {
UIImageView*imageView = [selffindHairlineImageViewUnder:subview];
if(imageView) {
returnimageView;
}
}
return nil;
}
viewDidLoad中调用
navBarHairlineImageView= [selffindHairlineImageViewUnder:self.navigationController.navigationBar];
(3)在viewWillAppear方法中隐藏该分割线
navBarHairlineImageView.hidden=YES;
(4)在viewWillDisappear方法中显示该分割线
navBarHairlineImageView.hidden=NO;