TableView不会填充,直到我更改单元格高度时滚动单元格

时间:2010-08-09 23:10:11

标签: iphone uitableview

我所做的是创建一个自定义的TableCell视图,该视图将填充来自对象数组的信息。每个TableCell都加载到

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

     static NSString *CellIdentifier = @"CellIdentifier";

     Cell *cell = (Cell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

     if (cell == nil) {
         NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Cell" owner:self options:nil];
         cell = [nib objectAtIndex:0];
     }

     NSUInteger row = [indexPath row];
     NSDictionary *rowData = (NSDictionary *)[self.surveys objectAtIndex:row];

     cell.info1.text = [rowData objectForKey:@"info1"]; 
     cell.info2.text = [rowData objectForKey:@"info2"]; 
     cell.info3.text = [rowData objectForKey:@"info3"];
     cell.otherInfo = [rowData objectForKey:@"otherInfo"];

     return cell;
}

除此之外,我在这里指定单元格的自定义高度

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

当tableView:heightForRowAtIndexPath:的值为76时,它会加载我能看到的所有单元格,并且它们不会空白。在不更改代码中的任何其他内容的情况下,我可以修改tableView:heightForRowAtIndexPath:中的值,并且只会在加载视图时显示第一个单元格值。当我向下滚动时,只要它们的上边缘击中屏幕顶部,它们就会刷新一个值。当我回到顶部并拉伸视图以使其反弹时,底部的视图将消失。

据我所知,身高的变化会以某种方式影响他们的负荷,但我不能为我的生活看到如何。

2 个答案:

答案 0 :(得分:0)

我在自定义单元格.xib中指定的高度与我在代码中指定的高度不同。一旦将其更改为与代码中指定的大小相匹配,问题就会消失。

答案 1 :(得分:0)

要注意的另一件事不仅是自定义表格视图单元格高度的大小,还有其他子视图的高度。

当我的一个UIImageView对象高于单元格高度时,我遇到了这个问题,这会导致同样的问题。

感谢帖子,因为它帮助我解决了我的问题。 +1(不会让我投票或我会,抱歉)