2011-09-08 41 views
0

我在UITableView內創建了UIbutton。我有多行。在觸摸特定行的按鈕時,我想要改變該特定按鈕的圖像。 我添加的按鈕是一個複選框。所以每次我按下按鈕,它的圖像都會改變。這裏是我的代碼:更改在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 

} 

這將真正偉大的,如果有人能幫助我。

感謝,
尼蒂什

+0

要更改的類似圖像所有的按鈕? – Maulik

+0

是的。複選框(按鈕)位於每一行中。 – Nitish

+0

但是在觸摸只有那個按鈕的按鈕圖像應該改變。 – Nitish

回答

3
-(void)AddToCart:(id)sender 

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

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

} 

試試這個。希望這可以幫助。

+0

非常感謝。堆棧溢出說我可以在3分鐘內接受你的答案。我會這樣做:) – Nitish

+0

@Nitish:謝謝。 – visakh7

+0

爲智能和真實的解決方案增加了+1 ...佩服這種類型的編碼器和人.. – Nit

1

試試這個...

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

} 
+0

感謝Maulik的幫助。 :) – Nitish

+0

請問這個 'UIButton * btnTemp =(UIButton *)[yourTableView viewWithTag:sender];' 工作嗎?當你說'[yourTableView viewWithTag:sender];' – visakh7

+0

如果按鈕標籤是唯一的,你會得到按鈕嗎? – Maulik

2

如何:

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

類型的發送對象不一定是id