Ios 设置多色选项卡栏图标而不是单色图标
我需要一种拥有多色选项卡栏图标的方法,但出于某种原因,iOS一直以单色方式绘制图标 我尝试了各种方法,比如包括这行代码:Ios 设置多色选项卡栏图标而不是单色图标,ios,swift,uitabbarcontroller,uicolor,uitabbaritem,Ios,Swift,Uitabbarcontroller,Uicolor,Uitabbaritem,我需要一种拥有多色选项卡栏图标的方法,但出于某种原因,iOS一直以单色方式绘制图标 我尝试了各种方法,比如包括这行代码:tabBarItem.image=#imageLiteral(resourceName:“routineIcon”)。在我的第一个视图控制器的viewDidLoad中使用RenderingMode(.alwaysOriginal),但我没有运气 有没有办法在标签栏图标中保留颜色信息而不使其单色?当它是彩色的时候,它看起来好多了 谢谢 Harish您需要创建一个新的uitabar
tabBarItem.image=#imageLiteral(resourceName:“routineIcon”)。在我的第一个视图控制器的viewDidLoad
中使用RenderingMode(.alwaysOriginal)
,但我没有运气
有没有办法在标签栏图标中保留颜色信息而不使其单色?当它是彩色的时候,它看起来好多了
谢谢
Harish您需要创建一个新的
uitabaritem
,并将其分配给视图控制器的tabBarItem
属性
// In viewDidLoad()
self.tabBarItem = UITabBarItem(title: "Hello world!", image: #imageLiteral(resourceName: "routineIcon").withRenderingMode(.alwaysOriginal), tag: 0)
此外,如果您使用的是资源目录(您应该这样做),请注意,在资源设置中有一个“渲染为”设置,可以将其设置为“始终原始”。
然后,在使用图像时,您可以使用RenderingMode(.alwaysOriginal)操作
// In viewDidLoad()
self.tabBarItem = UITabBarItem(title: "Hello world!", image: #imageLiteral(resourceName: "routineIcon"), tag: 0)
还有一个初始值设定项,如果您有一个选定的图像,它将获取该图像
// In viewDidLoad()
self.tabBarItem = UITabBarItem(title: "Hello world!", image: #imageLiteral(resourceName: "routineIcon"), selectedImage: #imageLiteral(resourceName: "routineIconSelected"))
注意:一般来说,修改系统UIBarItem
对象(uitabaritem
用于选项卡栏,而UIBarButtonItem
用于导航栏或工具栏)通常不起作用,您需要创建一个新对象。
系统栏项目是使用init(tabBarSystemItem:tag:)
(对于uitabaritem
)或init(barButtonSystemItem:target:action:)
(对于uiBarButtonim
)创建的项目。
使用故事板时,您可以决定使用系统栏项目或自定义项目。这很有效!非常感谢!我希望我上面的代码行最终能够正常工作,因为这样修改某些东西而不是创建一个全新的东西会很酷