我有四个UIView放在UITableViewCell上就像 每个单元格包含一个视图。我想在点击特定单元格时动态扩展TableViewCell,并调整后续单元格。 怎么做?
答案 0 :(得分:1)
您需要致电tableView.beginUpdates()
,然后在您要更改的行索引上调用tableView.reloadRowsAtIndexPaths(:withRowAnimation:)
,并tableView.endUpdates()
。
您还需要实施tableView(:heightForRowAtIndexPath:)
。这应该会回归'标准'大多数行的高度(默认为44.0),然后是展开行的较大值。
答案 1 :(得分:0)
一些示例代码:
@implementation ViewController {
NSIndexPath *indexPathToExpand;
}
-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {
if(indexPath == indexPathToExpand)
return expandedHeight;
else
return defaultHeight;
}
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
indexPathToExpand = indexPath;
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}
@end