2010-05-30 43 views
1

我的应用程序中有一个适度不定制的UITableView,它提供了一个网络游戏最多6个对等体的阵列。当没有同龄人发现numberOfRowsInSection是0,所以当它加载了,有表中没有行:UITableViewCell与0行的高度

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 0; 
} 

麻烦的是,每个单元的高度不调整,以匹配heightForRowAtIndexPath除非numberOfRowsInSection> 0 。我在numberOfRowsInSection的“1”中硬编码,并且高度按照预期调整。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return kTableRowHeight; 
} 

谁能告诉我这是为什么?一旦呈现的数据长度超过“0”,表格单元的高度是否会跳到正确的高度?即使行长为0,我也希望它们是正确的高度。

回答

2

尝试在UITableView上设置rowHeight属性。我的猜测是它甚至不会调用heightForRowAtIndexPath,除非该行中实际存在单元格。

(一般来说,顺便说一下,如果所有的行都是一样的高度,你应该使用rowHeight代替heightForRowAtIndexPath - 看到docs。)

+0

哇,我不知道存在。时间进行一些重构。至少很简单! :) – typeoneerror 2010-05-30 08:58:44

1

工程。只需在viewDidLoad()中添加[self.tableView setRowHeight:XX]即可。