2014-11-25 91 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; 
    } 

    } 

希望这有助于你。