去掉或者改变tabbar顶部以及navigationbar底部的黑线

本文介绍了如何在iOS应用中自定义TabBar底部细线及其颜色,并提供了消除或改变NavigationBar底部黑线的方法。通过设置背景图片和阴影图片,可以轻松实现界面定制。

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

有的时候因为项目需求,对tabbar以及navigationbar,需要去掉或者改变顶部及底部细线的颜色,对于这个问题,笔者在这里总结一下,方法不难,至于导航栏底部和tabbar顶部的黑线从何而来呢?通过层次结构会发现,是由于导航栏或者tabbar设置的默认图片导致的,要消除这种效果,就要摒弃系统自带的图片,自己生成一张图片,或者设置空的图片,下面就来上代码:

####1.改变或者消除tabbar底部细线及其颜色

 [self.tabBar setBackgroundImage:[UIImage new]];
    [self.tabBar setShadowImage:[self.tabBar lineImageWithColor:[UIColor colorWithHexString:@"#fb9966"]]];
    

复制代码

第一步是设置背景图片,第二部设置阴影图片,上面的是改变细线的颜色,我们可以自己画一张图片,画图片的方法如下:

- (UIImage *)lineImageWithColor:(UIColor *)lineColor {

    CGRect rect = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 0.5);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef ctx = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(ctx, lineColor.CGColor);
    CGContextFillRect(ctx, rect);
    
    UIImage *lineImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return lineImage;

}

复制代码

当然,如果想要去除黑线,只需要将shadowImage也设置未空白图片就可以了

####2.去除或者改变navigationbar底部黑线

原理类似,直接上代码吧

[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
    [self.navigationBar setShadowImage:[self.navigationBar lineImageWithColor:[UIColor colorWithHexString:@"#fb9966"]]];
复制代码

至于导航栏比较多变,这一点完全可以隐藏掉系统的导航栏,自己做一个就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值