作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有一种方法可以将 UITabBarSystemItem
图标与其他按钮(例如 UIButton
、UIBarButtonItem
)一起使用,而无需使用代码外部图像?
最佳答案
我找到了解决此问题的方法,方法是访问 UITabBarItem
subview 并检索包含该图标的 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 .
关于ios - 将 UITabBarSystemItem 图标与其他按钮一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52326974/
我是一名优秀的程序员,十分优秀!