[英]How to change the UIButton background images in UIButton click in ios
一个UIButton在启动应用程序时要显示“ workout_heart.png”。 为该按钮编写按钮单击动作。 当用户单击该按钮时,该图像要更改“ workout_heart_red.png”。 再次单击该按钮意味着该图像变为“ workout_heart.png”。 它想要更改备用。 我该如何帮助我!!!
试试这个,声明状态为实例变量
- (IBAction)buttonTapped:(id)sender {
if (state == 0) {
state = 1;
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateHighlighted];
}
else if (state == 1){
state = 0;
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal];
}
}
- (IBAction)btn_MyButton_Click:(id)sender
{
if ([sender isSelected] == YES)
{
[sender setSelected:NO];
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal];
}
else
{
[sender setSelected:YES];
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateNormal];
}
}
尝试这个
[btn setBackgroundImage:[UIImage imageWithString:@"workout_heart.png" forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageWithString:@"workout_heart_red.png" forState:UIControlStateHighlighted];
试试这个代码
对于按钮,为选定状态和正常状态设置背景图片,如下所示
[<btn> setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal];
[<btn> setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateSelected];
并编写如下的动作逻辑
- (IBAction)buttonTapped:(id)sender {
UIButton *tempButton = (UIButton *)sender;
if(tempButton.isSelected){
[tempButton setSelected:NO];
} else {
[tempButton setSelected:YES];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
// ...
self.btn1ImageName = @"workout_heart.png";
btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(367, 117, 97, 25)];
[btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(toggleImage:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn1];
}
- (void)toggleImage:(UIButton *)btn1 {
self.btn1ImageName = ([self.btn1ImageName isEqualToString:@"workout_heart.png"]) ? @"workout_heart_red.png" : @"workout_heart.png";
[btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
}
默认情况下在xib中设置背景图片,例如“ workout_heart.png”,然后检查状态,即
if(button.selected)
{
[button setBackgroundImage:[UIImage imageNamed:"workout_heart_red.png"] forState: UIControlStateNormal];
}
else
{
[button setBackgroundImage:[UIImage imageNamed:"workout_heart.png"] forState: UIControlStateNormal];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.