显示数据的可扩展UITableView单元格

时间:2016-04-24 16:57:12

标签: ios objective-c uitableview accordion expandable

我有一些按年份编目的运动比赛,每场比赛我都有最终结果,比赛日期和得分手。

我在表视图中显示这些匹配项,如下所示:

enter image description here

所以我想要实现的是:点击一个单元格时,显示匹配的详细信息,如图所示。

我还发现了一些用于实现手风琴/可扩展风格的库,但是没有人能够完成这项工作。他们只是扩展细胞并显示另一个细胞。

4 个答案:

答案 0 :(得分:5)

在这种情况下,您甚至不需要使用可扩展/手风琴。以下是解决这个问题的方法。让我们说正常情况下你的单元格大小是40,特别点击的单元格是100.在heightForRowAtIndexPath中你可以检查选择了哪个单元格并返回更多高度

new L.GeoJSON(collection, {
    pointToLayer: function (feature, latlng) {
        // Return a custom marker
    }
});

然后你可以做的是在didSelectRowAtIndexPath或clickEvent方法

if(selectedRow == indexPath.row) {
    return 100;
} else {
    return 40;
}

因此,您的单元格将被渲染所有内容,但会根据您隐藏或显示内容的高度。

使用输入源更新了答案

ViewController.m

[self.tableView beginUpdates];
[[self tableView] reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForItem: selectedRow inSection:0]] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];

答案 1 :(得分:0)

更简洁的方法是创建具有不同标识符的2个单元格,并在单击单元格时在运行时更改它。请检查此问题:Drop-Down List in UITableView in iOS

答案 2 :(得分:0)

您可以为此目的使用HVtableview,请尝试此链接 https://github.com/xerxes235/HVTableView

答案 3 :(得分:0)

尝试以下方法之一: