2013-01-01 128 views
3

我在小區添加UIButton動態 和改變的UIBarButtonItem 點擊UIButton圖像如何變更?更改圖片動態

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"Display"] ; 
    [cell.textLabel setText:[NSString stringWithFormat:@"%@" ,[arrItemList objectAtIndex:indexPath.row]]]; 

    UIButton *btnCheck = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    btnCheck.frame = CGRectMake(6.0f, 2.0f, 32.0f, 25.0f); 
    [btnCheck setTitle:@"" forState:UIControlStateNormal]; 
    [btnCheck addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside]; 
    [cell addSubview:btnCheck]; 

    return cell; 
} 
//Here IBAction for Bar Button Item 
//when ever user click on BarButton then set the image of all btnCheck 
-(IBAction)bbtnCheck:(id)sender 
{ 
} 
+0

你能告訴我你的代碼,你有什麼試過或做過的? –

+0

好吧,我已經把它.u可以看到, – Mihin

+0

不採取行動?沒有圖像顯示在按鈕上? –

回答

0

在這種bbtnCheck你必須拿到的tableView的實例(即特定的細胞)。然後你可以在那個特定的細胞添加按鈕後.. 請選中該....

-(IBAction)bbtnCheck:(id)sender 
{ 
    NSIndexPath *indexpath = [NSIndexPath indexPathForRow:YourRow inSection:YourSection]; // you have to set Row and Section according to your requirement 
    UITableViewCell *cellNew = [self.tblComments cellForRowAtIndexPath:indexpath]; 
    for (UIButton *btn in [cellNew.contentView subviews]) 
    { 
     if ([btn isKindOfClass:[UIButton class]]) 
     { 
      [btn setImage:[UIImage imageNamed:@"yourImage.png"] forState:UIControlStateNormal]; 
     } 
    }  
} 
+1

您將無法引用像這樣的單元格中的按鈕。 – Bill

+0

如何我可以在這種方法訪問btnCheck是可能的? – Mihin

+0

@ user1934408:使用自定義單元格並將按鈕添加到自定義單元格中,並將目標按鈕放置在cellAtIndex ...方法中,然後您可以像上面那樣訪問... – Maulik

1

假設你的問題是如何在表格的每一個細胞改變一個按鈕的圖像W /點擊一個欄按鈕的時候,我建議如下:

內的tableView:的cellForRowAtIndexPath,添加:

btnCheck.tag = MY_BUTTON_TAG_NUMBER; 

然後,當單擊欄按鈕項目時,循環顯示可見單元格並使用按鈕的標記來識別它並更新其圖像。

-(IBAction)bbtnCheck:(id)sender { 
for (UITableViewCell *cell in self.tableView.visibleCells) { 
    UIButton *button = [cell viewWithTag:MY_BUTTON_TAG_NUMBER]; 
    [button setImage:[UIImage imageNamed:SOME_NEW_IMAGE] forState:UIControlStateNormal]; 
    } 
}