2014-02-20 62 views
0

我正在開發一個應用程序,用戶可以添加事件到聯繫人列表中的特定聯繫人。所以,如果用戶滾動聯繫人列表,每個聯繫人將顯示其中的事件列表。我的問題是當我向下滾動外部表格視圖時,事件顯示正常,但當滾動時它隱藏了一些事件(即,UITableViewCells)。再次,如果我開始滾動它的工作正常,並再次滾動事件隱藏。例如,如果一個聯繫人中有三個事件,它只顯示前兩個,最後一個隱藏。檢查數據源方法,一切正常(即CellForRowAtIndexPath被調用4次)。UITableView裏面的UITableViewCell越來越隱藏,當滾動外部桌面視圖

我內心的tableView的CellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString *CellIdentifier = @"EventViewCell"; 

EventsCellAtViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 

    // load a new cell from the nib file 
    [[NSBundle mainBundle] loadNibNamed:@"EventsCellAtViewCell" owner:self options:nil]; 
    cell = self.eventsAtCell; 

    self.eventsAtCell = nil; 
} 

cell.selectionStyle = UITableViewCellSeparatorStyleNone; 

cell.event = [_eventsFeed eventAtIndex:indexPath.row]; 


return cell; 

}

請幫我在這個問題上。提前致謝!!

+0

爲什麼你在UITableViewCell裏面使用UITableView--至少聽起來是有線的:)爲什麼不把數據保存在1個UITableView中的不同單元? –

回答

1

在另一個垂直滾動視圖內放置垂直滾動視圖往往是問題的原因。用戶經常對於拖動或拖動時應該滾動的視圖感到困惑。

在這種情況下,它聽起來像單元格內的數據比單元格本身更高,導致它需要滾動以顯示所有內容。

而不是試圖滾動單元格內的數據,您應該使單元格高到足以顯示其所有數據。 heightForRowAtIndexpath方法將使您有機會更改每個單元格的高度。

它看起來像這是基於舊的Apple示例代碼。實例化單元格的UINib方法優於使用「loadNibNamed」用新單元重置IBOutlet。使用故事板比這兩種方法都更現代。

相關問題