我的应用程序中有一个适度非自定义的UITableView,它为网络游戏提供了多达6个对等阵列。如果没有找到对等体,则numberOfRowsInSection为0,因此当它加载时,表中没有行:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 0;
}
麻烦的是,除非numberOfRowsInSection>>,否则不调整每个单元格的高度以匹配heightForRowAtIndexPath。 0.我在“1”中为numberOfRowsInSection硬编码,高度按预期调整。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return kTableRowHeight;
}
谁能告诉我为什么会这样?一旦所呈现的数据长度超过“0”,表格单元格的高度是否会跳到正确的高度?即使行长为0,我也希望它们是正确的高度。
答案 0 :(得分:2)
尝试在rowHeight
上设置UITableView
属性。我的猜测是它甚至不会调用heightForRowAtIndexPath
,除非该行中确实有一个单元格。
(顺便说一句,顺便提一下,如果所有行都是相同的高度,则应使用rowHeight
代替heightForRowAtIndexPath
- 请参阅docs。)
答案 1 :(得分:1)
有效。只需在[self.tableView setRowHeight:XX]
中添加viewDidLoad()
。