更改在 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中删除单元格