iOS10 NavigationController push的时候NavigationBar闪现白条

本文介绍如何解决iOS中导航栏底部出现1px线条的问题,并针对iOS10及以后版本进行代码适配,确保应用界面的一致性和美观性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

navigationBar 下面有一个1px的线,为了隐藏掉这个线让navigationBar和下面的连成一体


// color
    self.navigationController.navigationBar.barTintColor = [ThemeManager naviColor];
    // clear shadow
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    // hide i px buttom line
    [self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                                                 forBarPosition:UIBarPositionAny
                                                     barMetrics:UIBarMetricsDefault];
    
    self.navigationController.navigationBar.translucent = NO;

之后到了iOS 10。 还是原来的APP,还是原来的代码,push的时候NavigationBar闪现白条。

问题是这句话

[self.navigationController.navigationBarsetBackgroundImage:[UIImagenew]

                                                 forBarPosition:UIBarPositionAny

                                                     barMetrics:UIBarMetricsDefault];


这样改的

// color
    self.navigationController.navigationBar.barTintColor = [ThemeManager naviColor];
    // clear shadow
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    if (![NSProcessInfo.processInfo isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){9,4,0}]) {
        // hide i px buttom line
        [self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                                                     forBarPosition:UIBarPositionAny
                                                         barMetrics:UIBarMetricsDefault];
    }
    
    self.navigationController.navigationBar.translucent = NO;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值