繁体   English   中英

单击按钮时更改图像颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM