更改在 UITableView 中创建的 UIButton 的图像

Posted

技术标签:

【中文标题】更改在 UITableView 中创建的 UIButton 的图像【英文标题】:Change image for UIButton created inside UITableView 【发布时间】:2011-09-08 11:08:49 【问题描述】:

我在UITableView 中创建了一个UIbutton。我有多行。在触摸特定行的按钮时,我希望更改该特定按钮的图像。我添加的按钮是一个复选框。所以每次我触摸按钮时,它的图像都会改变。

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath   

/*  

Some code  

*/  

 //Checkbox
        UIImage *buttonImage = [UIImage imageNamed:@"arrow-not-checked.png"];
        btnConfirm = [UIButton buttonWithType:UIButtonTypeCustom];
        btnConfirm.tag =[[arrID objectAtIndex:indexPath.row] intValue]; 
        [btnConfirm setImage:buttonImage forState:UIControlStateNormal];
        btnConfirm.frame = CGRectMake(checkboxXX, 10.0, buttonImage.size.width, buttonImage.size.height);
        [btnConfirm addTarget:self action:@selector(AddToCart:) forControlEvents:UIControlEventTouchUpInside];
        [cell.contentView addSubview:btnConfirm];  

  



-(void)AddToCart:(id)sender

    UIButton *btnTemp=sender;
    int iTag = btnTemp.tag;  

    // I want to change image of sender

  

【问题讨论】:

您要更改所有按钮的相似图像吗? 是的。复选框(按钮)在每一行中。 但是在触摸一个按钮时,只有那个按钮的图像应该改变。 【参考方案1】:
-(void)AddToCart:(id)sender


UIButton *btnTemp = (UIButton *)sender;
int iTag = btnTemp.tag;  

// I want to change image of sender
[btnTemp setImage:yourImage forState:UIControlStateNormal];

  

试试这个。希望这会有所帮助。

【讨论】:

非常感谢。堆栈溢出说我可以在 3 分钟内接受你的回答。我会这样做的:) 嗨@7KV7,如果我选择另一个复选框,那么应该取消选中前一个复选框【参考方案2】:

这个怎么样:

-(void)AddToCart:(UIButton *) addButton

   [addButton setImage:yourImage forState: UIControlStateNormal];
  

发送对象的类型不必是id

【讨论】:

【参考方案3】:

试试这个……

-(void)AddToCart:(id)sender


UIButton *btnTemp = (UIButton *)[yourTableView viewWithTag:sender];
int iTag = btnTemp.tag;  

// I want to change image of sender
[btnTemp setImage:yourImage forState:UIControlStateNormal];

  

【讨论】:

感谢 Maulik 的帮助。 :) UIButton *btnTemp = (UIButton *)[yourTableView viewWithTag:sender]; 会起作用吗?当你说[yourTableView viewWithTag:sender];时你会得到按钮

以上是关于更改在 UITableView 中创建的 UIButton 的图像的主要内容,如果未能解决你的问题,请参考以下文章

在 UItableview 单元格中创建的 UIButton 在点击时崩溃

如何在故事板中创建的 UITableView 中隐藏单元格?

从 AppDelegate 访问在故事板的 tableview 中创建的视图?

如何从Storyboard中创建的静态UITableView中删除单元格

如何更改在界面生成器中创建的 UINavigationBar 的标题

如何更改在 Google App Inventor 中创建的 android 应用程序的图标?