创建并初始化自定义 UITabBarItem Class

Create and Initialise Custom UITabBarItem Class

我正在构建一个包含四个 UITabBarItems 的应用程序。它们看起来应该都一样。我没有在各自的 UIViewController 中自定义它们,而是尝试构建自定义 UITabBarItem class 并让 UITabBarItems 继承它。

到目前为止,这是我完成的工作:

class CustomTabBarItem: UITabBarItem {


    func customiseTabBarItems() {
        // Customises the item on the tab bar

        // For normal state
       setTitleTextAttributes([NSAttributedStringKey.font : Fonts.small!, NSAttributedStringKey.foregroundColor: Colours.grey], for: .normal)

        // When highlighted
       setTitleTextAttributes([NSAttributedStringKey.font : Fonts.small!, NSAttributedStringKey.foregroundColor: Colours.white], for: .highlighted)
    }


}

并且我在故事板中将每个 UITabBarItem 设置为我的 'CustomTabBarItem' 的子 class。

但是,问题是我的 UITabBarItems 没有显示该功能。

有什么建议吗?

I am building an application with four UITabBarItems. They all should look the same

实现这一点的方法不是尝试某种类型的 UITabBarItem 子类,而是使用 appearance proxy 作为 UITabBarItem。例如:

UITabBarItem.appearance().setTitleTextAttributes( // ...

在您的应用委托中执行此操作 didFinishLaunching。所有标签栏项目将根据您对外观代理的命令进行自定义。