是否可以仅通过代码将UITabBarSystemItem
图标与其他按钮(例如UIButton
,UIBarButtonItem
)一起使用,即不使用外部图像?
答案 0 :(得分:0)
我通过访问UITabBarItem
子视图并检索包含图标的UIImageView
找到了解决方法。
func getImageFrom(tabBarSystemItem: UITabBarSystemItem, blueColored: Bool) -> UIImage? {
let tabBar = UITabBar()
let item = UITabBarItem(tabBarSystemItem: tabBarSystemItem, tag: 0)
tabBar.items = [item]
if blueColored { // gray otherwise
tabBar.selectedItem = item
}
let itemView = tabBar.subviews[0]
let imageView = itemView.subviews[0] as? UIImageView
//let label = itemView.subviews[1] as? UILabel // this is 'item' label
return imageView?.image
}
用法:
let buttonImage = getImageFrom(tabBarSystemItem: .more, blueColored: true)
值得一提的是,不正确地使用图标可能会违反iOS人机界面准则,并导致您的应用被App Store拒绝。 Read。