【问题标题】:How to create Expandable Cell with Dynamic height?如何创建具有动态高度的可扩展单元格?
【发布时间】:2015-07-15 08:08:39
【问题描述】:

我的项目中有两个字段,一个用于提问,另一个用于回答。如何通过单击表格视图上的问题来显示答案。

【问题讨论】:

  • 您可以在一个数组中保持单元格状态为打开或关闭。如果单元格状态发生变化,您可以重新加载 tableView 并更改 func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { }

标签: ios objective-c uitableview dynamic customization


【解决方案1】:

您可以将每个可扩展单元格视为一个部分。对于每个部分,您只需为其提供不同数量的数据模型并重新加载 tableview,您可以看到 tableview 调整了该部分中的行数。例如,您像这样实现 tableview 数据源:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return self.feedEntitySections.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [self.feedEntitySections[section] numberOfRows];
}

以第 0 节为例,它展开时有 3 行,折叠时只有 1 行。您可以像这样实现您的扩展操作。

    //Expand section 0.
    [self expandSectionAtIndex:0];

    //Fold section 0.
    [self foldSectionAtIndex:0];

- (void)expandSectionAtIndex:(NSUInteger)idx
{
    self.feedEntitySections[idx].numberOfRows = 3;
    [self.tableView reloadData];
}

- (void)foldSectionAtIndex:(NSUInteger)idx
{
    self.feedEntitySections[idx].numberOfRows = 1;
    [self.tableView reloadData];
}

希望这能回答问题。

【讨论】:

    猜你喜欢
    • 2016-12-11
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多