簡體   English   中英

UITabBarController 使用多個故事板

[英]UITabBarController using multiple storyboards

我正在努力將我巨大的 storyboard 重構為多個故事板。 在此過程中,我正在努力讓標簽欄圖像顯示出來。

class CustomTabBarController: UITabBarController{

    @IBOutlet weak var myTabBar: UITabBar?

    override func viewDidLoad() {
        super.viewDidLoad()
        setTabBarItems()
    }

    func setTabBarItems(){
        guard let tabBar1 = self.tabBar.items?[0] else { return }
        let myTabBarItem1 = tabBar1 as UITabBarItem
        myTabBarItem1.image = UIImage(named: "1-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem1.selectedImage = UIImage(named: "1-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem1.title = ""
        guard let tabBar2 = self.tabBar.items?[1] else { return }
        let myTabBarItem2 = tabBar2 as UITabBarItem
        myTabBarItem2.image = UIImage(named: "2-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem2.selectedImage = UIImage(named: "2-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem2.title = ""
        guard let tabBar3 = self.tabBar.items?[2] else { return }
        let myTabBarItem3 = tabBar3 as UITabBarItem
        myTabBarItem3.image = UIImage(named: "3")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem3.selectedImage = UIImage(named: "3-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem3.title = ""
        guard let tabBar4 = self.tabBar.items?[3] else { return }
        let myTabBarItem4 = tabBar4 as UITabBarItem
        myTabBarItem4.image = UIImage(named: "4-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem4.selectedImage = UIImage(named: "4-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem4.title = ""
        guard let tabBar5 = self.tabBar.items?[4] else { return }
        let myTabBarItem5 = tabBar5 as UITabBarItem
        myTabBarItem5.image = UIImage(named: "5-tab-bar-unselected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem5.selectedImage = UIImage(named: "5-tab-bar-selected")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)
        myTabBarItem5.title = ""
    }
}

這就是我以前和正在工作的。 目前它不顯示任何項目圖像,只顯示“項目”。 我在導航視圖 controller 中添加了一個標簽欄項目。

我試過的
・來自 UITabBarController 的實例化 VC
・在設置導航視圖 controller 中設置導航項,這有效,但應用程序啟動時標簽欄為空。

任何幫助表示贊賞

在此處輸入圖像描述

class CustomTabBarController: UITabBarController{
override func viewDidLoad() {
       self.viewControllers![3].title = "Your Title" //This for title
       self.tabBar.items?[0].image = UIImage(named: "YourImageName")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) // This for image

}

當您的圖像未出現時意味着您的圖像尺寸不正確,因為我也面臨同樣的問題。 圖像可能太大而無法顯示。 標簽欄項目圖像的大小應約為 28pt-32pt(像素)。

暫無
暫無

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

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