自定义UITabBar的背景图片或者颜色

默认的UITabBarController的tabBar背景色是黑色的。有时我们的应用需要变更背景色,或用指定图片做为背景图。
如下有两处实现方法, 这两种方法均需要先实例UITabBarController。
如app的创建的是基于UITabBarController的应用,可将如下代码加入到AppDelegate 的委托方法didFinishLaunchingWithOptions: 中

方法一:

UITabBarController *tabBarController = [[UITabBarController alloc] init];

CGRect frame = CGRectMake(0, 0, 320, 49);

UIView *v = [[UIView alloc] initWithFrame:frame];

UIImage *img = [UIImage imageNamed:@"tabbar.png"];

UIColor *color = [[UIColor alloc] initWithPatternImage:img];

v.backgroundColor = color;

[tabBarController.tabBar insertSubview:v atIndex:0];

tabBarController.tabBar.opaque = YES;

[color release];

[v release];

方法二:

默认UITabBarController的tabBar背景是黑色的。可以按 下面方法:

UITabBarController *tabBarController = [[UITabBarController alloc] init];

NSArray *array = [tabBarController.view subviews];

UITabBar *tabBar = [array objectAtIndex:1];

UIImage *image = [UIImage imageWithContentsOfFile:sourcePath ];

tabBar.layer.contents = (id)image.CGImage;

个人推荐使用第二种方法。代码简洁,思路清晰

原文地址:https://www.cnblogs.com/linyawen/p/2561445.html