1. 程式人生 > >UITabBarController背景圖片和適配

UITabBarController背景圖片和適配

轉載註明出處:http://hi.baidu.com/yunhuaikong/blog/item/086d43fb79fe82c1b58f3128.html

UITabBarController自己的資料有時候讓人無言,如選中時的顏色tintcolor,它的背景等,雖然網路現在修改它的例子很多,但個人感覺都不是最好的辦法。畢竟這樣做程式碼量還是比較大的,如何用官方的api實現相應的功能呢?看看效果圖:

現在一一說明修改方式:

一、修改背景圖片:


素材如下:

二、修改每一個tabbar選中時的顏色,預設為藍色。此處修改為自定義的顏色。

三、去掉選中時的聚焦高亮顏色。可以對比著看看。這裡不給截圖。

素材:

寬度為320/tabbar的個數,用背景色。如果需要其他的效果,自己換一個就行了。

蒐集的方法二:轉載自:http://blog.csdn.net/tianyitianyi1/article/details/7694391

預設的UITabBarControllertabBar背景色是黑色的。有時我們的應用需要變更背景色,或用指定圖片做為背景圖。
如下有兩處實現方法, 這兩種方法均需要先例項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;

個人推薦使用第二種方法。程式碼簡潔,思路清晰