如何在单击按钮操作时更改图像
Posted
技术标签:
【中文标题】如何在单击按钮操作时更改图像【英文标题】:How to change the image while clicking button action 【发布时间】:2014-07-23 12:15:04 【问题描述】:我有编辑按钮来编辑和删除按钮来删除操作。如果我单击编辑按钮,我需要显示完成按钮图像。然后用户完成删除操作再次按下完成我需要显示带有图像的编辑按钮。以前我已经完成了文本。图片怎么处理?
UIImage *bg = [UIImage imageNamed:@"edit.png"];
[editButton setBackgroundImage:bg forState:UIControlStateNormal];
// [editButton setTitle:@"Edit" forState:UIControlStateNormal];
-(void)editButtonPressed:(UIButton *)button
NSLog(@">>> Entering %s <<<", __PRETTY_FUNCTION__);
[tableview setEditing:![tableview isEditing] animated:YES];
NSString *buttonTitle = ([tableview isEditing]) ? @"Done" : @"Edit";
[editButton setTitle:buttonTitle forState:UIControlStateNormal];
NSLog(@"<<< Leaving %s >>>", __PRETTY_FUNCTION__);
【问题讨论】:
【参考方案1】:UIImage *img=[(UIButton *) sender currentImage];
if(img == [UIImage imageNamed:@"edit"])
//If do something
像这样试试。
【讨论】:
【参考方案2】:你也可以做同样的事情,但使用图片:
UIImage *bg = [UIImage imageNamed:@"Edit"];
[editButton setImage:bg forState:UIControlStateNormal];
// [editButton setTitle:@"Edit" forState:UIControlStateNormal];
-(void)editButtonPressed:(UIButton *)button
NSLog(@">>> Entering %s <<<", __PRETTY_FUNCTION__);
[tableview setEditing:![tableview isEditing] animated:YES];
NSString *buttonImageName = ([tableview isEditing]) ? @"Done" : @"Edit";
[editButton setImage:[UIImage imageNamed: buttonImageName] forState:UIControlStateNormal];
NSLog(@"<<< Leaving %s >>>", __PRETTY_FUNCTION__);
【讨论】:
它正在工作..但是当我单击编辑按钮时,它会显示编辑和帮助图像,两者都【参考方案3】:您可以为正常状态和选定状态设置图像。按下切换按钮状态为选中状态(表格将处于编辑模式),再次按下切换按钮状态恢复正常。
- (void)viewDidLoad
// ...
[editButton setImage:normalImage forState:UIControlStateNormal];
[editButton setImage:editmodeImage forState:UIControlStateSelected];
- (void)editButtonPressed:(UIButton *)button
tableView.editing = !tableView.editing;
editButton.selected = tableView.isEditing;
// ...
【讨论】:
以上是关于如何在单击按钮操作时更改图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 swift 中单击按钮时更改 uiimage 的图像?