有时我们需要实现如下场景,
(1)在同一个界面中 显示与隐藏NavigationBar底部分割线
(2)当离开这个ViewController的时候,仍然需要显示底部分割线。
效果图如下所示:
(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;
网友评论