簡體   English   中英

標簽欄不顯示圖標?

[英]Tab bar not showing icons?

我讀了一堆相關的問題,我嘗試了他們所說的,但沒有任何效果。 不知道為什么。 所以,我有 3 個不同UIStoryboards 第一個是處理登錄/注冊的 Auth Storyboard,還有一個 storyboard 引用第二個 Storyboard - 選項卡欄 storyboard。這個 storyboard 包含 5 個其他 storyboard 的引用,它將加載單獨的視圖控制器。

我的問題是,一旦用戶登錄,圖標就不會顯示。我在 UITabViewController 中設置了第一個視圖UITabViewController的自定義顏色,以確保它加載。 確實如此。

我試圖將所有圖像/圖標設置為將它們呈現為“原始”,但沒有用。 我設置了一個系統圖像,只是為了看看是否是這個問題,它們沒有顯示。 另外值得一提的是,圖標顯示在 storyboard 中,但在編譯時,它們在模擬器中無處可見。

我究竟做錯了什么?

在此處輸入圖像描述

PS:我已經更改了標簽欄的色調,只是為了測試它,它可以工作。 所以,問題不在於那個......

故事板參考和缺少標簽欄圖標的問題

如果您將 Storyboard References 附加到您的 Tab Bar Controller,您會注意到 Storyboard References 上實際上有一個UITabBarItem

假 UITabBarItem

不要為這個“假”UITabBarItem 設置屬性!

當您運行該應用程序時,您的設置將什么也不做。 您提供的值僅影響您在 Interface Builder 中看到的內容,而不會影響您運行時的應用程序。

解決方案

您需要做的是轉到您的故事板參考所指向的 ACTUAL 視圖控制器。 該視圖控制器上還將有一個 UITabBarItem。 這是“真正的”UITabBarItem。 在那里設置您的屬性(圖標、標題等),您將在運行應用程序時看到它們顯示。

實際的視圖控制器

我附上了描述連接的圖像:

  1. 將 TabBar 控制器連接到你的五個視圖控制器

  2. 對於每個視圖控制器,選擇任何視圖控制器 -> 在頂部的 Xcode 選項中轉到編輯器 -> 嵌入 -> 導航控制器

  3. 在 Navigation Controller 中選擇底部欄 -> 在 Utilities 中打開 Attribute Inspector -> 提供在圖像中突出顯示的標題和圖像

在此處輸入圖片說明

從登錄/注冊導航到 TabBar 屏幕:將 Storyboard ID 提供給 TabBarController 例如。 “TabBarController”並使用相應 Storyboard 的 Storyboard ID 創建 TabBarController 實例。

斯威夫特 3

func navigateToTabBar() {
    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "TabBarController") as UIViewController
    self.present(nextViewController, animated:true, completion:nil)
}

我有同樣的問題。 我的錯誤是我確實在“Tab Bar Item”中設置了Selected Image ,但我沒有設置Image屬性。

因此,標簽欄圖標顯示在子視圖 [故事板] 中,但沒有顯示在父視圖中(即 TabBarController)。

如果您以編程方式制作導航控制器,由於 viewDidLoad 調用太晚,您將看到相同的症狀。 在您的子視圖控制器中覆蓋 init 將使您的圖標正確顯示。

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    self.tabBarItem = UITabBarItem(title: "Settings", image: UIImage(named: "gear"), tag: 1)
}

required init?(coder: NSCoder) {
    super.init(coder: coder)
}

快樂編碼!

不要忘記分別在標簽欄項目欄項目類別中設置Selected Image屬性和Image 屬性

在此處輸入圖片說明

我有一個與上面類似的問題,但文本和圖像都沒有顯示為 tabItem,但是有一個空的占位符區域並且仍然可以單擊它並打開視圖。

我的 tabItem 的 viewController 被設置為 Storyboard Reference 因此當我手動添加 Tab Bar Item 時不小心將它放在場景中但在場景的 viewController 之外。 這顯然很重要......

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM