以编程方式设置UIBarButtonItem的填充颜色?

4

我有一组从PNG文件中创建的UIBarButtonItems,它们位于UIToolbar中。

当用户单击图标时,我希望该图标被填充颜色以指示状态更改。

是否可能使用单个图像集(通过编程更改某些属性),或者我必须使用两个图像集(每个状态一个)?

2个回答

0

这非常简单。您只需要在代码中执行以下操作:

imgView.image = [imgView.image
    imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
imgView.tintColor = [UIColor someColor];

0

首先,确保您的UIImagerenderingModeUIImageRenderingModeAlwaysTemplate

如果使用initWithImage,然后更改UIBarButtonItemtintColor

尽管UIBarButtonItem不是视图,但其tintColor属性的行为与UIView相同。

否则,如果您在使用initWithCustomView创建一个包含UIImageView的自定义视图,则更改UIImageViewtintColor也可能有效。

否则,每次单击后都可以将UIToolBarsetItems: animated:NO设置为更新,但这可能不太优雅。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接