转载注明出处:http://hi.baidu.com/yunhuaikong/blog/item/086d43fb79fe82c1b58f3128.html
UITabBarController自己的数据有时候让人无言,如选中时的颜色tintcolor,它的背景等,虽然网络现在修改它的例子很多,但个人感觉都不是最好的办法。毕竟这样做代码量还是比较大的,如何用官方的api实现相应的功能呢?看看效果图:
现在一一说明修改方式:
一、修改背景图片:
素材如下:
二、修改每一个tabbar选中时的颜色,默认为蓝色。此处修改为自定义的颜色。
三、去掉选中时的聚焦高亮颜色。可以对比着看看。这里不给截图。
素材:
宽度为320/tabbar的个数,用背景色。如果需要其他的效果,自己换一个就行了。
搜集的方法二:转载自:http://blog.youkuaiyun.com/tianyitianyi1/article/details/7694391
默认的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;
个人推荐使用第二种方法。代码简洁,思路清晰