隐藏导航栏下的1px底部横线
隐藏导航栏下的1px底部横线
萍水相逢OSC 发表于2年前
隐藏导航栏下的1px底部横线
  • 发表于 2年前
  • 阅读 37
  • 收藏 0
  • 点赞 2
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 原理是,直接用一个UIImageView(默认颜色为透明)代替了原来的横线

第一种:

先设置一个全局变量 UIImageView * imageView;

然后:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    _imageView.hidden = YES;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    _imageView.hidden = NO;
}

- (void)viewDidLoad 
{
    [super viewDidLoad];
    
    _imageView = [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;
}

第二种:

直接在AppDelegate.m中设置,可全局生效

[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
    [[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];

 

共有 人打赏支持
粉丝 103
博文 16
码字总数 4469
×
萍水相逢OSC
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: