带我飞4iOS 开发每天分享优质文章iOS Tips

NavigationBar底部分割线隐藏

2015-11-24  本文已影响4065人  Michael_Geng

有时我们需要实现如下场景,
(1)在同一个界面中 显示与隐藏NavigationBar底部分割线
(2)当离开这个ViewController的时候,仍然需要显示底部分割线。
效果图如下所示:

图1 图2

(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;

上一篇下一篇

猜你喜欢

热点阅读