[英]Change image color when click on button
您在这里有很多不同的可能性:
1)确实制作了另一种颜色的新图像。 快速入门,但不是很灵活。
2)它看起来很像矢量图形图标。 您可以使用Bezier曲线绘制整个图标,然后可以根据需要为其着色。 还有一些工具可以为您生成代码(例如PaintCode )。
3)可能有一些可以使用的过滤器(请参阅此处: https : //developer.apple.com/library/prerelease/mac/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html )
玩这个:
func changeColor() {
theImageView.image = theImageView.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
theImageView.tintColor = UIColor.redColor()
}
是的,您还必须在项目中导入blue。在您的viewDidLoad()方法中,只需粘贴这些行即可。
目标C:-
[yourBtn setBackgroundImage:[UIImage imageNamed:@"whiteImage.png"] forState:UIControlStateNormal];
[yourBtn setBackgroundImage:[UIImage imageNamed:@"blueImage.png"] forState:UIControlStateSelected];
斯威夫特:-
yourBtn.setBackgroundImage(UIImage(named: "whiteImage.png"), forState: .Normal)
yourBtn.setBackgroundImage(UIImage(named: "blueImage.png"), forState: .Selected)
为此按钮创建动作,然后粘贴此代码。
目标C:-
-(void)buttonTapped:(UIButton *)sender
{
if(sender.isSelected)
{
[sender setSelected:NO];
}
else
{
[sender setSelected:YES];
}
}
斯威夫特:-
func buttonTapped(sender: UIButton) {
if sender.isSelected {
sender.selected = false
}
else {
sender.selected = true
}
}
尝试这个 :-
[self.yourBtn addTarget:self action:@selector(ButtonSelector:) forControlEvents:UIControlEventTouchUpInside];
[self.yourBtn setBackgroundImage:[UIImage imageNamed:@"whiteImage@2x.png"]forState:UIControlStateNormal];
-(void)ButtonSelector:(UIButton *)sender{
if ([sender isSelected]) {
[self.yourBtn setBackgroundImage:[UIImage imageNamed:@"whiteImage@2x.png"]forState:UIControlStateNormal];
[sender setSelected: NO];
} else {
[self.yourBtn setBackgroundImage:[UIImage imageNamed:@"blueImage@2x.png"]forState:UIControlStateNormal];
[sender setSelected: YES];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.