以编程方式设置 UIBarButtonItem 填充颜色?
Posted
技术标签:
【中文标题】以编程方式设置 UIBarButtonItem 填充颜色?【英文标题】:Programmatically set UIBarButtonItem fill color? 【发布时间】:2015-05-17 15:03:48 【问题描述】:我在 UIToolbar 中有一组来自 png 文件的 UIBarButtonItems。
当用户点击一个图标时,我希望该图标填充颜色以指示状态更改。
是否可以使用一组图像(可能通过以编程方式更改某些属性)来做到这一点,还是我必须需要两组图像(每个状态都打开)?
【问题讨论】:
【参考方案1】:首先确保您的UIImage
的renderingMode 是UIImageRenderingModeAlwaysTemplate
如果您使用 initWithImage 更改 UIBarButtonItem
的 tintColor。
虽然 UIBarButtonItem 不是视图,但它的 tintColor 属性的行为 和 UIView 一样。
否则,如果您使用 UIImageView
initWithCustomView 然后更改 imageView 的 tintColor 也可能会起作用
否则,您可以在每次点击后将Items: animated:NO 设置为UIToolBar
,这可能不太优雅
【讨论】:
【参考方案2】:这是非常直接的。您只需要在代码中执行以下操作:
imgView.image = [imgView.image
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
imgView.tintColor = [UIColor someColor];
【讨论】:
以上是关于以编程方式设置 UIBarButtonItem 填充颜色?的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式将自定义图像设置为 UIBarButtonItem
Swift:UIBarButtonItem 以编程方式设置可访问性标识符
在哪里以编程方式设置 TableViewController 的 UIBarButtonItem 和单元格“segue”