如何更改UIButton中的UIButton背景图像点击ios

问题描述:

一个UIButton启动它想要显示的应用程序“workout_heart.png”。编写该按钮的按钮点击动作。当用户点击那个图片想要改变“workout_heart_red.png”的按钮时。再次点击该按钮意味着图像变成“workout_heart.png”。它想要改变交替。我怎样才能实现这个帮助我!如何更改UIButton中的UIButton背景图像点击ios

+0

请继续通过现有的问题和更好的文档。看[这里](http://stackoverflow.com/questions/1702194/how-to-use-a-uibutton-as-a-toggle-switch)。您只需在您的按钮的目标方法中切换图像。 – n00bProgrammer 2014-11-25 11:55:29

+0

@ n00bProgrammer如果你认为它是重复的,那么它就不是非常有建设性的,只要把它标记为一个就可以了。我确定如果我们在新的时候看到你的问题,我们会发现你会提出一些不完全适合该网站的问题(例如http://stackoverflow.com/questions/16231048/new-to- ios-development-need-resources) – Popeye 2014-11-25 11:57:28

+0

@Popeye,我确实把它标记为重复的。我添加了评论,将其标记为重复,然后继续。另外,如果我听起来粗鲁,我很抱歉,不是我的意图。 – n00bProgrammer 2014-11-25 12:01:47

尝试这个代码

对于按钮设置背景图像等来选择和正常状态低于

[<btn> setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal]; 
[<btn> setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateSelected]; 

和写入操作逻辑如下默认在厦门国际银行如“workout_heart.png”

- (IBAction)buttonTapped:(id)sender { 
    UIButton *tempButton = (UIButton *)sender; 
    if(tempButton.isSelected){ 
     [tempButton setSelected:NO]; 
    } else { 
     [tempButton setSelected:YES]; 
    } 
} 
+0

它不在桌面视图中的一个按钮在视图控制器 – 2014-11-25 12:09:11

+0

这里tableview来了 – 2014-11-25 12:09:58

+0

你试过这段代码。 – 2014-11-25 12:15:26

尝试此

[btn setBackgroundImage:[UIImage imageWithString:@"workout_heart.png" forState:UIControlStateNormal]; 
[btn setBackgroundImage:[UIImage imageWithString:@"workout_heart_red.png" forState:UIControlStateHighlighted]; 

尝试此,声明SATE作为实例变量

- (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]; 
    } 
} 
+0

imageWithString错误,setBackgroundImage – 2014-11-25 12:13:27

+0

什么是'[UIImage imageWithString:'? – Popeye 2014-11-25 12:15:19

+0

编辑..试试这个1 – 2014-11-25 12:15:24

- (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]; 
} 

设置的背景图像,然后在检查状态即

if(button.selected) 
{ 
    [button setBackgroundImage:[UIImage imageNamed:"workout_heart_red.png"] forState: UIControlStateNormal]; 
} 
else 
{ 
[button setBackgroundImage:[UIImage imageNamed:"workout_heart.png"] forState: UIControlStateNormal]; 
}