我有一组从PNG文件中创建的UIBarButtonItems,它们位于UIToolbar中。
当用户单击图标时,我希望该图标被填充颜色以指示状态更改。
是否可能使用单个图像集(通过编程更改某些属性),或者我必须使用两个图像集(每个状态一个)?
我有一组从PNG文件中创建的UIBarButtonItems,它们位于UIToolbar中。
当用户单击图标时,我希望该图标被填充颜色以指示状态更改。
是否可能使用单个图像集(通过编程更改某些属性),或者我必须使用两个图像集(每个状态一个)?
这非常简单。您只需要在代码中执行以下操作:
imgView.image = [imgView.image
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
imgView.tintColor = [UIColor someColor];
首先,确保您的UIImage
的renderingMode
是UIImageRenderingModeAlwaysTemplate
如果使用initWithImage
,然后更改UIBarButtonItem
的tintColor
。
尽管
UIBarButtonItem
不是视图,但其tintColor
属性的行为与UIView
相同。
否则,如果您在使用initWithCustomView
创建一个包含UIImageView
的自定义视图,则更改UIImageView
的tintColor
也可能有效。
否则,每次单击后都可以将UIToolBar
的setItems: animated:NO
设置为更新,但这可能不太优雅。