单击时使tableView单元格更大

时间:2013-07-01 22:46:28

标签: objective-c uitableview

点击它后,如何让我的细胞更大?

这是我目前无效的代码。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [feedsTableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
    static NSString *CellIdentifier = @"Cell";
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] ;

    ell.frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y, 320.0, 250.0);
    NSLog(@"[CELL CLICK] %i", indexPath.row);

    [feedsTableView beginUpdates];
    [feedsTableView endUpdates];

    [feedsTableView deselectRowAtIndexPath:indexPath animated:YES];
}

1 个答案:

答案 0 :(得分:2)

你可以这样做:

NSIndexPath *selectedIndex;

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
  if (indexPath == selectedIndex)
    return 80.0f;
  else
    return 50.0f;
}

然后在didSelectRowAtIndex中设置selectedIndex变量并重新加载tableview,如下所示:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  selectedIndex = indexPath;
  [tableView reloadRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationMiddle];
}