2012-02-20 59 views
3

我在下面有這個設置,但是當我觸摸表格單元格時,我得到了警告,所以我知道該方法正在被調用,但單元格左側的圖像沒有更改。這是我的代碼如下所示: 在視圖控制器我有這2種方法:更改觸摸表格單元格的UIImage

​​

cellImage在.H聲明,我在此.M合成它,以及

正下方上面的方法,我有這樣的一個(我改變圖像的底部!

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    NSString *cellselected = [NSString stringWithFormat:@"cell selected %@", [tabledata objectAtIndex:indexPath.row]]; 

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"alert" message:cellselected delegate:self cancelButtonTitle:@"close" otherButtonTitles:nil]; 

    [alert show]; 
    //------------------------------------------------------------------------------start 
    cellImage = [UIImage imageNamed:@"checkboxfull.png"]; 
    //----------------------------------------------------------------------------end 

} 

需要的所有幫助我能得到,感謝

+0

你試圖引用直接的UIImageView的形象? 「cell.imageView.image = [UIImage imageNamed:@」checkboxfull.png「];」 我不知道,但也許「cell.imageView.image = cellImage;」需要UIImage的副本,因爲它仍然沒有加載到內存中。 – Markus 2012-02-20 17:01:20

回答

3
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 

    NSString *cellselected = [NSString stringWithFormat:@"cell selected %@", [tabledata objectAtIndex:indexPath.row]]; 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"alert" message:cellselected delegate:self cancelButtonTitle:@"close" otherButtonTitles:nil]; 

    [alert show]; 
    [alert release]; 

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    cell.imageView.image = [UIImage imageNamed:@"checkboxfull.png"]; 
} 
+0

太棒了!非常感謝,哈哈!我很高興。現在我將如何再次點擊將其更改回其他圖像? – user1191343 2012-02-20 17:11:36

+0

檢查'if([cell.imageView.image isEqual:[UIImage imageNamed:@「checkboxfull.png」]])'改變爲其他人......其他改爲 – Shubhank 2012-02-20 17:13:34

+0

男人,非常感謝。我感覺很棒,有這個工作,非常感謝。 – user1191343 2012-02-20 17:33:24

1

你忘了改變的ImageView:

cellImage = [UIImage imageNamed:@"checkboxfull.png"]; 
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
cell.imageView.image = cellImage; 
+0

謝謝,你們都給出了相同的答案。 – user1191343 2012-02-20 17:12:18

相關問題