我已经在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
}
发布于 2011-09-08 19:13:34
-(void)AddToCart:(id)sender
{
UIButton *btnTemp = (UIButton *)sender;
int iTag = btnTemp.tag;
// I want to change image of sender
[btnTemp setImage:yourImage forState:UIControlStateNormal];
}
尝尝这个。希望这能有所帮助。
发布于 2011-09-08 19:20:39
这样如何:
-(void)AddToCart:(UIButton *) addButton
{
[addButton setImage:yourImage forState: UIControlStateNormal];
}
发送对象的类型不必为id
发布于 2011-09-08 19:17:16
试试这个。
-(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];
}
https://stackoverflow.com/questions/7347092
复制相似问题