iOS 修改tabBar和NavigationBar黑色分割线的颜色

//navigationBar
[self.navigationController.navigationBar setBackgroundImage:[self imageWithColor:[UIColor clearColor] size:CGSizeMake(self.view.frame.size.width, 0.5)]; forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[self imageWithColor:[UIColor redColor] size:CGSizeMake(winWidth, 0.5)]];

//tabBar
[self.tabbarViewController.tabBar setBackgroundImage:[self imageWithColor:[UIColor clearColor] size:CGSizeMake(self.view.frame.size.width, 0.5)]; 
[self.tabbarViewController.tabBar setShadowImage:[self imageWithColor:[UIColor redColor] size:CGSizeMake(WinWidth,0.5)]];

注意要同时设置setBackgroundImage和setShadowImage才有效果

- (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size {
    if (!color || size.width <=0 || size.height <=0) return nil;
    CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
    UIGraphicsBeginImageContextWithOptions(rect.size,NO, 0);
    CGContextRef context =UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, color.CGColor);
    CGContextFillRect(context, rect);
    UIImage *image =UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容