在标签栏中为 highlighted/not 突出显示设置自定义图标

setting custom icons in tabbar for highlighted/not highlighted

我的资产中有一些图标,我想将其用于我的标签栏,每个标签 2 个(一个代表未突出显示,即只是轮廓,一个代表突出显示,即全部填充)。这个想法是对当前未选中的选项卡使用轮廓图标,对当前选中的选项卡使用填充图标。我该怎么做?

只需为您的 Tabbar 创建一个 Class,例如:

class MainTabBarController: UITabBarController {

     override func viewDidLoad() {
        super.viewDidLoad()

        for item in self.tabBar.items! as [UITabBarItem] {

        // loop through all of your elements in TabBar

        if let image = item.image {

            item.selectedImage = your Selected Image
            item.image = your base Image

        }
    }


}

您可以将所有图像存储在包含 UIImage 的数组中,例如:

let TabImages = [UIImage]()
let HighlightedImages = [UIImage]()

然后在你的 for each 循环中设置它们。

var tabBarController = self.window!.rootViewController as UITabBarController
let tabItems = tabBarController.tabBar.items as [UITabBarItem]
tabItems[2].selectedImage = UIImage(named: "tabImage1_Selected")