扩展表视图单元格

时间:2013-11-13 09:27:13

标签: ios uitableview

我想在每个单元格选择的小视图中打开更多信息,比如扩展视图单元格。我也在进行屏幕截图。我无法解决这个问题的帮助。如何做到这一点! want to open blak view on each cell and remaining cell exapnded below

我正在使用下面的代码,它工作正常,但如何显示特定单元格位置的隐藏视图

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

 // Deselect cell
[tableView deselectRowAtIndexPath:indexPath animated:TRUE];

// Toggle 'selected' state
BOOL isSelected = ![self cellIsSelected:indexPath];

// Store cell 'selected' state keyed on indexPath
NSNumber *selectedIndex = [NSNumber numberWithBool:isSelected];
[selectedIndexes setObject:selectedIndex forKey:indexPath];

// This is where magic happens...
[tbleLectures  beginUpdates];
[tbleLectures endUpdates];
 }


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

{
// If our cell is selected, return double height
if([self cellIsSelected:indexPath]) {
    return kCellHeight * 2.0;

 //      return 44;
}

// Cell isn't selected so return single height
return kCellHeight;

 }

2 个答案:

答案 0 :(得分:0)

您可以重新加载您的tableview以使其生效或仅重新加载tableView:didSelectRowAtIndexPath:中的单元格:

// This is where magic happens...
[tbleLectures  beginUpdates];
[tbleLectures reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPathOfYourCell] withRowAnimation:UITableViewRowAnimationNone];
[tbleLectures endUpdates];

答案 1 :(得分:0)

如果要更改单元格的高度,则应重新加载表格视图并使用

    - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 

委托显示/隐藏详细视图的方法

另一个逻辑是维护tableView的状态并根据tableView的状态填充单元格。 tableView应具有isSelectedCell / notSelected状态。如果选择tableView,则返回单元格的数量始终为+1(一个用于详细单元格);并在选定单元格后插入详细信息单元格。要维护所选单元格的索引,您可能需要类变量。

对于iOS中的这种工作,你需要有一些逻辑! 希望这有帮助