2014-11-25 94 views
1

我是iOS開發新手。我懷疑與UITableViewCell高度有關。選擇uitableviewcell時顯示/隱藏自定義類元素

enter image description here

我使用一個tableview中,我採取了原型細胞中的故事板。我給出的單元格高度是75.但是我需要的是當我選擇單元格高度將增加並顯示1個按鈕(圖像中爲黑色)。該按鈕在UITableViewCell的自定義類中聲明。在那張圖片的下面我有一個標籤。如果按鈕顯示,我需要將標籤放在按鈕的底部,否則在按鈕的位置,我需要顯示該標籤。

在此先感謝.......

+0

[Creating a expandable UITableView](http://stackoverflow.com/questions/15763482/creating-an-expandable-uitableview) – Spynet 2014-11-25 09:54:30

+0

可能的重複我使用它,但它對我沒有幫助 – 09121989 2014-11-25 10:15:15

回答

0

您可以使用[的tableView beginUpdates]和[的tableView endUpdates]

防爆:

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

{ 

[self hideControlMethodsTable];//Declare method to hide when button tableview loads initially 

[tableList beginUpdates]; 
[tableList deselectRowAtIndexPath:indexPath animated:YES]; 

CellRes = (ReservationTableViewCell*) 
        [tableList cellForRowAtIndexPath:indexPath]; 

     if (cellSelectedFirstTime == true) { 
      self.selectedRow = indexPath.row; 
      [self showControlsMethodsTable]; 
      cellSelectedFirstTime = false; 
     } 
     else{ 
     if(self.selectedRow == indexPath.row){ 
     self.selectedRow = -1; 
     [self hideControlMethodsTable]; 

    } 
     else{ 
     self.selectedRow = indexPath.row; 
     [self showControlsMethodsTable]; 

    } 
    } 
[tableList endUpdates]; 
} 
} 


-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 

    if(openForFirstCell == true){ 


    if (cellSelectedFirstTime==true) { 
     CellRes = [UIColor lightGrayColor]; 
     return 180.; 

    } 

return 60; 
    } 

    } 

希望這有助於你。