隐藏导航栏底部横线

来源:互联网 发布:php和seo哪个好 编辑:程序博客网 时间:2024/05/22 14:30

有些时候需要隐藏导航下面的 1 像素的线可以实用以下的方法去实现

@interface MyViewController {    UIImageView *navBarHairlineImageView;}// 加入下面的- (void)viewDidLoad {    navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];}- (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;}// 在这里控制隐藏显示- (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];    navBarHairlineImageView.hidden = YES;}- (void)viewWillDisappear:(BOOL)animated {    [super viewWillDisappear:animated];    navBarHairlineImageView.hidden = NO;}或者UINavigationBar *navigationBar = self.navigationController.navigationBar;// bg.png为自己ps出来的想要的背景颜色。[navigationBar setBackgroundImage:[UIImage imageNamed:@"bg.png"]                   forBarPosition:UIBarPositionAny                       barMetrics:UIBarMetricsDefault];[navigationBar setShadowImage:[UIImage new]];这是唯一一个隐藏这条线的官方用法,但是有一个缺陷-删除了translucency(半透明)
0 0
原创粉丝点击