2012-07-06 179 views
0

我用自定義單元格創建了一個表格。對於每個單元格,我都創建了一個將當前單擊單元格向上移動的動畫。問題出在當前的動畫單元格中,例如索引第2行並回到索引爲1的父單元格中。
我希望動畫單元格位於父元素的前面。 如果我將表格向下滾動超過480px,這是iPhone屏幕的大小,然後再次單擊與索引第2行相同的單元格,單元格將很好地重疊父單元格。問題如下圖所示。重疊表格單元格動畫

Image showing the problem

回答

0

你需要獲得細胞,並把它在視圖層次結構的前面。但是,獲取單元並不是立即顯而易見的:您不能在控制器中調用tableView:cellForRowAtIndexPath:,因爲它將會出列或創建新單元。您需要做的是在桌面視圖上調用cellForRowAtIndexPath:,並在開始動畫之前將其放在前面。

UIView* theCell = [tableView cellForRowAtIndexPath:someIndexPath]; 
[theCell.superview bringSubviewToFront:theCell]; 

您可以安全地對所有要進行動畫處理的細胞做到這一點,因爲它返回nil如果他們不是在屏幕上可見。