title: Accordion table cell - for expand and collapse ios
body: <p>I am trying to expand/collapse of tableview cells in accordion cell pattern, So that, when a user taps the row they would get the detailed description of the selected row within the cell by extending the row height. I have 2 arrays, 'array' and 'detailarray' for displaying it in 'cell.textLabel.text' and 'cell.detailTextLabel.text' cells resp. now initially i have made 'cell.detailTextLabel.hidden = YES' as hidden, so that when user taps the row can get the extended text of the cell.</p>
  
  <p>My code,</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *CellIdentifier = @"Cell";
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
  
      // Configure the cell...
      cell.textLabel.text=[array objectAtIndex:indexPath.row];
      cell.detailTextLabel.text=[detailarray objectAtIndex:indexPath.row];
      cell.detailTextLabel.hidden = YES;
  
      return cell;
  }
  
  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath
  {
      [tableView deselectRowAtIndexPath:indexPath animated:YES];
      NSLog(@"indexpath is %d", indexPath.row);
      selectedIndex = indexPath.row;
      isSearching = YES;
  
      [self.tableview beginUpdates];
  
      static NSString *CellIdentifier = @"Cell";
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
      cell.textLabel.text=[array objectAtIndex:indexPath.row];
      cell.detailTextLabel.text=[detailarray objectAtIndex:indexPath.row];
      cell.detailTextLabel.hidden = NO;
  
      [self.tableview endUpdates];
  }
  
  - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
      if (isSearching &amp;&amp; indexPath.row == selectedIndex)
      {       
          return 77;      
      }
      return 44;    
  }
  </code></pre>
  
  <p>Now I have created a tableviewcell with 4 rows and when tapping each row i would get the extended view of the selected row.
  During runtime I could see the 'detailarray' text on my cell when it extends, but it disappears when didselectRowAtIndexPath function is stopped, why is that happening so, any one can help me in this regards.</p>