繁体   English   中英

更改在UITableView内部创建的UIButton的图像

[英]Change image for UIButton created inside UITableView

我在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

}  
-(void)AddToCart:(id)sender

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

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

}  

尝试这个。 希望这可以帮助。

这个怎么样:

-(void)AddToCart:(UIButton *) addButton
{
   [addButton setImage:yourImage forState: UIControlStateNormal];
}  

发送对象的类型不必为id

尝试这个...

-(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];

}  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM