【发布时间】:2020-08-05 05:22:57
【问题描述】:
我正在努力将我巨大的故事板重构为多个故事板。在此过程中,我正在努力让标签栏图像显示出来。
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 = ""
}
}
这是我以前做过的并且正在工作的。目前它不显示任何项目图像,只显示“项目”。我在导航视图控制器中添加了一个标签栏项目。
我的尝试
・来自UITabBarController的实例化VC
・在设置导航视图控制器中设置导航项,这可行,但应用启动时标签栏为空。
感谢任何帮助
【问题讨论】:
-
你在导航控制器上设置了Tab bar item的图片吗?
-
而对于Settings.storyboard的storyboard引用,你是用viewcontroller的id作为reference id还是navigation controller的id?
-
感谢您的评论。是的,我已经在导航控制器上设置了标签栏项目的图像。当我点击选项卡时,会出现图标。应用启动时不会出现。我使用了导航控制器的 id 供参考
-
那么您应该创建标签栏类,然后将标签栏图标设置为该类,您的图标就会出现。
-
您好,谢谢您的评论,这不是我在做什么吗?我确实有一个标签栏类
标签: ios swift storyboard uitabbarcontroller