2013-09-27 52 views
5

我的問題是以下內容:有一個表頭由標題組成。當你點擊標題,之後TableView部分隱藏後重新加載部分

[self.tableView reloadSections: [NSIndexSet indexSetWithIndex: section] withRowAnimation: UITableViewRowAnimationAutomatic]; 

實際上重新啓動,在早期版本(iOS版6.1.3或更低),細胞重新加載,一切都很好。在iOS7上,單元格變得隱藏起來。它是什麼以及如何解決它?不僅單元格被點擊,而且下一個站點(更低或更高)。

<MyHeaderCell: 0x146ea600; baseClass = UITableViewCell; frame = (0 0, 320 75); hidden = YES; autoresize = W; gestureRecognizers = <NSArray: 0x146e10c0>; layer = <CALayer: 0x146e95d0 » 

基本上,它是日誌中的問題之一。清楚地看到細胞變得隱藏起來。

儘管如此,當我使用[self.tableView reloadData];一切都很好,但我需要動畫。

+0

因此,單擊標題並觸發重新加載,並且「不僅是單擊的單元格」?我很困惑,你需要展示更多的代碼。 –

回答

3

這是一個老問題,但我想我知道是什麼原因造成的。

這是一個「靜態」單元,意思是說你自己保持對它的引用?在這種情況下,問題可能是這樣的:

當您執行動畫重新加載時,表視圖將淡出現有單元,同時淡入新單元。問題是,當「新」單元格與舊單元格完全相同時,同一單元格將同時淡入和淡出!在你的情況下,淡出動畫優先,單元格被隱藏。

但是,如果通過總是重複使用單元而不是使用相同的引用來解決這個問題,那麼我知道這並不總是最佳的。

0

[tableView reloadSections:withRowAnimation]之後調用[tableView reloadData]可以修復它,而不會顯着影響動畫。