2011-02-18 117 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移到視圖之後,它似乎正在工作。

相關問題