2011-06-08 49 views
0

我的問題是我有一個tableview顯示四個單元格,在那些單元格中我也有一個cutom按鈕。通過點擊該按鈕,按鈕圖像必須像複選標記圖像一樣改變。UITableview按鈕圖像的問題

我試過但沒有得到正確。我的要求是,如果我點擊索引零點索引按鈕圖像必須改變的單元格。

任何人都可以幫助我解決這個問題。

在此先感謝。

+0

弄來輸出?如果您需要任何幫助,問我自由 – Tendulkar 2011-06-08 07:16:05

+0

沒有它不適合我 – vidya 2011-06-08 07:27:03

+0

工作,請看看我給 – Tendulkar 2011-06-08 08:34:24

回答

0

你需要做兩件事情

  1. 您需要將味精傳遞到按鈕

    [comboButton setBackgroundImage:[UIImage imageNamed:@"firstImage.png"] forState:UIControlStateNormal] 
    [comboButton setBackgroundImage:[UIImage imageNamed:@"second.png"] forState:UIControlStateHighlighted] 
    
  2. 和的tableView委託方法的tableView:didSelectRowAtIndexPath方法:按鈕狀態設置爲突出顯示的

+0

感謝您的重播Amit.i在didSelectRowAtIndexPath方法下面的代碼寫的答案爲索引0,但如果我點擊索引0最後索引圖像正在改變。如果我改變你的代碼什麼也沒發生 我的代碼是: 如果(m_checkButton.imageView.image == [UIImage的imageNamed:@ 「checkbox_unchecked.png」]) \t \t \t { \t \t \t \t [m_checkButton setImage:[UIImage imageNamed:@「checkbox_checked.png」] forState:UIControlStateNormal]; \t \t \t} \t \t \t別的 \t \t \t { \t \t \t \t [m_checkButton setImage:[UIImage的imageNamed:@ 「checkbox_unchecked.png」] forState:UIControlStateNormal]; \t \t \t} – vidya 2011-06-08 06:17:07

+0

對於該按鈕操作我使用了相同的語句,並且工作正常。沒有這個聲明我不能更改按鈕圖像檢查和未檢查的圖像我的方式我添加條件 – vidya 2011-06-08 06:36:36

+0

爲此..... \t [btn setImage:[UIImage imageNamed:@「3.png」] forState: UIControlStateHighlighted]; \t [btn setHighlighted:YES]; ... 這工作正常,我已經測試它 – 2011-06-08 06:50:46

1

在.h文件中寫入selectedIndex

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    if(selectedindex==indexPath.row){ 
     cell.accessoryType=UITableViewCellAccessoryCheckmark; 
       //here you can change the backgroundimage. 
button]setbackgroundImage:[UIImage imageNamed:@"1.Jpg"]; 
} 



    return cell; 
} 

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

    selectedIndex=indexPath.row; 
    [tableView reloadData]; 
} 
+5

請提高您的答案.... – 2011-06-08 06:18:21

+0

是的。我試過但沒有工作。 – vidya 2011-06-08 09:48:09