创建并初始化自定义 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
。所有标签栏项目将根据您对外观代理的命令进行自定义。
我正在构建一个包含四个 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
。所有标签栏项目将根据您对外观代理的命令进行自定义。