在我的应用中,我试图在Mkmapview
中显示UITableView
。当我点击单元格时,它必须展开并显示地图。然后,如果我点击另一个单元格,它应该再次展开并显示图库视图,前一个单元格必须折叠并且地图应该隐藏。
提前感谢,
答案 0 :(得分:1)
您必须跟踪展开/折叠单元格的状态(或高度)。然后在tableView:heightForRowAtIndexPath:
中报告该高度。然后添加以下代码以触发调整大小。
[self.tableView beginUpdates];
[self.tableView endUpdates];
例如:
- (void)toggleMapCell {
_mapCellExpanded = !_mapCellExpanded;
if (_mapCellExpanded)
_mapCellHeight = 200.0;
else
_mapCellHeight = 44.0;
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if ([indexPath isEqualTo:_mapCellIndexPath])
return _mapCellHeight;
else
return 44.0;
}
如果必须重新布置单元格的内容。我认为最好的地方是在单元格中layoutSubviews
进行。