iOS隐藏导航条底部横线

转自:http://blog.it985.com/9808.html
既要隐藏底部横线,又要保留模糊效果,只能找到那条线,然后隐藏掉。直接上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@implementation UINavigationBar (Convenient)

/// 导航栏底部的那条头发丝大小的线
- (UIImageView *)hairline {
return [self findHairLineImageViewOnSuperView:self];
}

- (UIImageView *)findHairLineImageViewOnSuperView:(UIView *)superView {
if ([superView isKindOfClass:UIImageView.class] && superView.bounds.size.height <= 1.0) {
return (UIImageView *)superView;
}
for (UIView *subview in superView.subviews) {
UIImageView *imageView = [self findHairLineImageViewOnSuperView:subview];
if (imageView) {
return imageView;
}
}
return nil;
}

@end

然后在合适的时候执行:

1
self.navigationController.navigationBar.hairline.hidden = YES;

大功告成。