创建并初始化自定义 UITabBarItem 类

Posted

技术标签:

【中文标题】创建并初始化自定义 UITabBarItem 类【英文标题】:Create and Initialise Custom UITabBarItem Class 【发布时间】:2018-04-20 21:31:00 【问题描述】:

我正在构建一个包含四个 UITabBarItems 的应用程序。他们都应该看起来一样。我没有在各自的UIViewController 中自定义它们,而是尝试构建一个自定义的UITabBarItem 类并让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”的子类。

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

有什么建议吗?

【问题讨论】:

如果您只想更改项目的颜色,您可以通过情节提要轻松完成 【参考方案1】:

我正在构建一个包含四个 UITabBarItems 的应用程序。它们应该看起来都一样

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

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

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

【讨论】:

以上是关于创建并初始化自定义 UITabBarItem 类的主要内容,如果未能解决你的问题,请参考以下文章

使用情节提要创建的没有标题的自定义 UITabbarItem

如何使用自定义 UIImage 作为 UITabBarItem 徽章?

自定义 UITabBarItem

如何使用 Apple 自定义 UITabBarItem 图像?

如何自定义 UITabBarItem 上的标题?

是否可以自定义 UITabBarItem 徽章?