【问题标题】:Change the color of an icon within a button within a UIBarButton (Swift)更改 UIBarButton (Swift) 中按钮内图标的颜色
【发布时间】:2015-12-07 08:31:27
【问题描述】:
我有一个 UIToolbar 和一个 UIBarButton 包含一个包含图像的按钮(单击时图像会发生变化,因此根据我的研究,我显然必须这样做)。
虽然图像本身是白色的并且是 png,但它显示为黑色(我希望它是白色的)。我已将 Bar Button Item 上的色调颜色设置为白色,将 Button 上的文本颜色设置为白色,并包括
button.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
在我的 ViewDidLoad 中。它仍然是黑色的。它应该始终是白色的,所以我不在乎是通过编程方式还是通过 InterfaceBuilder 执行此操作。
【问题讨论】:
标签:
ios
swift
uibutton
uibarbuttonitem
【解决方案1】:
你需要在UIImageRenderingModeAlwaysTemplate渲染模式下加载图片:
目标-C
UIImage *toolbarButtonImage = [[UIImage imageNamed:@"SomeImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithImage:toolbarButtonImage style:UIBarButtonItemStylePlain target:self action:@selector(someAction)];
斯威夫特:
let buttonImage = UIImage(named: "SomeImage")!.imageWithRenderingMode(.AlwaysTemplate)
let button = UIBarButtonItem(image: buttonImage, style: .Plain, target: self, action: "someAction:")