2011-02-18 79 views
0

我有一个从nib文件加载的自定义UITableViewCell。一切正常,直到我向下滚动过去最后一个单元格,这样当我放开时,表格视图必须反弹回来。自定义UITableViewCell滚动过去顶部后消失

然后,列表顶部的单元格为空,并保持空白,直到手动刷新表格视图。

形象问题:iPhone屏幕截图] [1]

这里是我行的代码单元:

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

static NSString *CellIdentifier = @"TimeEntryCellIdentifier"; 

TimeEntryCell *cell = (TimeEntryCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TimeEntryCell" owner:self options:nil]; 

    for (id oneObject in nib) { 
     if ([oneObject isKindOfClass:[TimeEntryCell class]]) { 
      cell = (TimeEntryCell *) oneObject; 
     } 
    } 
} 

TimeEntry *aTimeEntry = [appDelegate.timeEntries objectAtIndex:indexPath.row]; 

cell.clientName.text = aTimeEntry.ClientName; 
cell.category.text = aTimeEntry.CategoryName; 
cell.hours.text = [NSString stringWithFormat:@"%@", aTimeEntry.Hours]; 

[TimeEntry release]; 

return cell; 
} 

任何想法?

[1]:在http://dl.nvthost.com.s3.amazonaws.com/Screen拍摄2.46.42 2011-02-18 PM.png

[1]:在http://dl.nvthost.com.s3.amazonaws.com/Screen拍摄2.46.42 2011-02-18 PM.png

回答

1

我不我认为你应该做的

[TimeEntry release]; 

那里的最后一行。您没有在该方法中分配它,只是从委托中提取参考。在这一点上,保留数可能为零。当iOS开始释放TimeEntry将被释放的内存时。

+0

这是作为调试过程的一部分放在那里。我删除它,仍然有同样的问题。 – JWright 2011-02-18 21:01:28

0

问题原来是IB中的视图层次结构。尽管我在单元格中放置了视图,然后将UILabels拖到视图上,但它们与视图的高度相同。在将UILabel移到视图之后,它似乎正在工作。

相关问题