2017-08-02 93 views
0

儘管嘗試了SO上發佈的各種方法,但在初始化標籤欄控制器時,我無法讓模擬器顯示標籤欄圖標。無法在標籤欄中顯示圖標iOS Swift

對於每個圖標,我提供了3種尺寸,即25px×25px,50px×50px(@ 2x)和75px×75px(@ 3x)。

這是我的TabBar是如何表示模擬器向上 enter image description here

以下是在選項卡和圖像分別屬性

enter image description here enter image description here

這裏是在960x75像素X 960x75像素我的圖標中的一個(@ 3x)

enter image description here

有人可以指導我哪裏出錯了嗎?

+0

只是出於好奇你是否運行測試版?我的所有圖標都停止顯示在測試版中,但會顯示在我的手機上。 – Diesel

+0

檢查您添加的圖像的插圖並嘗試導入一個像50Px的小圖像用於嘗試和Xcode版本您正在使用並嘗試在設備上啓動應用程序也許它只是模擬器問題 –

+0

@Diesel正確的我正在運行X代碼9測試版,我嘗試在我的設備上啓動,但圖像仍然不顯示。 – kurrodu

回答

1

我終於想通了,這個問題是與xcassets文件夾做。爲了解決這個問題,我在Xcode中創建了一個新的xcassets文件夾。

  1. File > New > Resource > Asset Catalog

  2. 如下圖所示,我確定我的目標應用程序也被選中。

我拖放從舊xcassets文件夾中的圖片到新的,所有的圖像進行加載。

enter image description here

0

嘗試修改如下: -

enter image description here

,然後更新您的自定義圖像編程

if let tabBarItems = yourTabBar?.items { 
    tabBarItems[0].selectedImage(UIImage(name: yourImage) 
} 
1

對於雨燕3.0

編程設置爲選定的選項卡,然後取消選擇的標籤圖像

let arrayOfImageNameForSelectedState = ["tabBar_img_1", "tabBar_img_2", "tabBar_img_3"] 
    let arrayOfImageNameForUnselectedState = ["tabBar_img_1", "tabBar_img_2", "tabBar_img_3"] 

    if let count = self.tabBar.items?.count { 

     for i in 0...(count-1) { 

      let imageNameForSelectedState = arrayOfImageNameForSelectedState[i] 
      let imageNameForUnselectedState = arrayOfImageNameForUnselectedState[i] 

      self.tabBar.items?[i].selectedImage = UIImage(named: imageNameForSelectedState)?.withRenderingMode(.alwaysOriginal) 
      self.tabBar.items?[i].image = UIImage(named: imageNameForUnselectedState)?.withRenderingMode(.alwaysOriginal) 
     } 
    }