我開發了具有5個選項卡的tabbar base應用程序,我試圖在每個選項卡上設置圖像。所以我使用了由xcode提供的用於設置圖像的功能,但是我沒有得到我想要的確切結果。在UITabBar控制器上設置圖像
,這裏是我的TabBar控制器
在這種情況下,我得到的灰色圖像,但我的實際圖像不花白的彩色圖像。所以請任何一個有解決這個問題的解決方案。我想設置圖像作爲reties我有。
謝謝。
我開發了具有5個選項卡的tabbar base應用程序,我試圖在每個選項卡上設置圖像。所以我使用了由xcode提供的用於設置圖像的功能,但是我沒有得到我想要的確切結果。在UITabBar控制器上設置圖像
,這裏是我的TabBar控制器
在這種情況下,我得到的灰色圖像,但我的實際圖像不花白的彩色圖像。所以請任何一個有解決這個問題的解決方案。我想設置圖像作爲reties我有。
謝謝。
從iOS 7開始,您可以選擇將應用中的任何圖像視爲模板或模板圖像。當您選擇將圖像作爲模板處理時,系統會忽略圖像的顏色信息,並根據圖像中的alpha值創建圖像模板。 UIImage
有一個名爲renderingMode
的新屬性默認呈現模式爲UIImageRenderingModeAutomatic
。從我的經驗這通常意味着像圖像模板,所以當你初始化你的形象,你需要UIKit中的用戶界面目錄
UIImage *image = [UIImage imageNamed:@"someimage"];
UIImage *thisoneshouldbeused = [image imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]
見模板圖像獲取更多信息
@Inertiatic有很大的答案,可以使用-imageWithRenderingMode:
。
NSArray *images = @[@"[FIRST IMAGE]", @"[SECOND IMAGE]", …];
NSArray *selectedImages = @[@"[FIRST SELECTED IMAGE]", @"[SECOND SELECTED IMAGE]", …];
UITabBarController *tabBarController = (id)self.window.rootViewController;
for (NSInteger i = 0; i < tabBarController.tabBar.items.count; ++i) {
UITabBarItem *item in tabBarController.tabBar.items[i];
item.image = [[UIImage imageNamed:images[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
item.selectedImage = [[UIImage imageNamed:selectedImages[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
可能重複的[如何更改標籤欄上不活動的圖標/文本顏色?](http://stackoverflow.com/questions/22767098/how-to-change-inactive-icon-text-color-上製表巴) –