[英]How to show the tab bar item's icon correctly
我使用storyboard創建了一個應用程序,並且有一個帶有3個選項卡的標簽欄控制器。 每個選項卡都有一個選項卡圖標和一個選項卡標題,我有兩個樣式圖標(已選中和未選中)。 兩者都是54 * 54。
當我使用storyboard選擇標簽欄項目時,在其屬性檢查器中,如果我將Bar項目的Image設置為已選中,它將顯示一些奇怪的事情:
當然那不是我想要的。 我想問題可能是我的選中圖標是藍色的。
我想知道如何獲得選項卡的正確圖標。 尺寸和外觀都合適。
另外,有人可以告訴我“Tab Bar Item”和“Bar Item”的區別是什么?
要解決圖像中“奇怪的事情”的問題,你可以在代碼中執行此操作:(抱歉,我也不知道正確的單詞)
UIImage *image = [[UIImage imageNamed:@"imageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
然后將此圖像分配給UITabItem的圖像:
UITabBarItem * tabItem = [tabBarController.tabBar.items objectAtIndex:0];
tabItem.image = image;
我不知道如何在故事板中做到這一點。
您還可以在外部(使用預覽)或內部使用代碼(搜索調整UIImage大小的方法)將圖像調整為正確的大小。
Sketch
作為App Icon Tool,它可以方便地將您的圖標,自定義圖標或下載圖標導入三種尺寸(@ 1x,@ 2x和@ 3x)。 我不建議您在代碼中設置圖標的大小。 Tab Bar Item
中將藍色圖標設置為Selected Image
的突出顯示圖標。 Bar Item
是Tab Bar Item
一部分。 如果您剛剛使用Default
圖標,例如More
, favorited
, feather
,那么您不需要設置Tab Bar Item
。 選擇System Item
為Custom
后,您將在Tab Bar Item
選擇自己的icon
。 我只是遇到同樣的問題!然后我弄明白了!
您的代碼或設置沒有任何問題
這是關於你的IMAGE
您只需查看手機上的應用程序。(差不多)任何標簽欄項目圖標均為灰色。
所以Icon只會將他們的UN空心部件顯示為灰色!!
[另外,根據官方API,他們寫道如下:
默認情況下,將根據源圖像中的Alpha值自動創建未選擇和選定的圖像 。 要防止系統着色,請使用UIImageRenderingModeAlwaysOriginal提供圖像。
]
因此,解決方案是:使用草圖使您的實例的圖標心臟部分為空心
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.