Objective c 如何在单击按钮操作时更改图像

Objective c 如何在单击按钮操作时更改图像,objective-c,uitableview,uiimageview,uibutton,Objective C,Uitableview,Uiimageview,Uibutton,我有编辑按钮编辑和删除按钮删除行动。如果单击“编辑”按钮,我需要显示“完成”按钮图像。然后用户完成删除操作,再次按完成我需要显示编辑按钮和图像。之前我已经完成了文本。如何处理图像 UIImage *bg = [UIImage imageNamed:@"edit.png"]; [editButton setBackgroundImage:bg forState:UIControlStateNormal]; // [editButton setTitle:@"Edit" forState:U

我有编辑按钮编辑和删除按钮删除行动。如果单击“编辑”按钮,我需要显示“完成”按钮图像。然后用户完成删除操作,再次按完成我需要显示编辑按钮和图像。之前我已经完成了文本。如何处理图像

 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__);


 }

您可以执行完全相同的操作,但要使用图像:

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__);


 }

像这样试试。

您可以将图像设置为正常状态和选定状态。按“切换”按钮时,选定表格的状态将处于编辑模式,再次按“切换”按钮时,将按钮状态切换回正常状态

- (void)viewDidLoad
{
    // ...
    [editButton setImage:normalImage forState:UIControlStateNormal];
    [editButton setImage:editmodeImage forState:UIControlStateSelected];
}

- (void)editButtonPressed:(UIButton *)button
{
    tableView.editing = !tableView.editing;
    editButton.selected = tableView.isEditing;
    // ...
}

它正在工作..但当我点击编辑按钮时,它会显示编辑和帮助图像,两者都有
- (void)viewDidLoad
{
    // ...
    [editButton setImage:normalImage forState:UIControlStateNormal];
    [editButton setImage:editmodeImage forState:UIControlStateSelected];
}

- (void)editButtonPressed:(UIButton *)button
{
    tableView.editing = !tableView.editing;
    editButton.selected = tableView.isEditing;
    // ...
}