0
我用自定義單元格創建了一個表格。對於每個單元格,我都創建了一個將當前單擊單元格向上移動的動畫。問題出在當前的動畫單元格中,例如索引第2行並回到索引爲1的父單元格中。
我希望動畫單元格位於父元素的前面。 如果我將表格向下滾動超過480px,這是iPhone屏幕的大小,然後再次單擊與索引第2行相同的單元格,單元格將很好地重疊父單元格。問題如下圖所示。重疊表格單元格動畫
我用自定義單元格創建了一個表格。對於每個單元格,我都創建了一個將當前單擊單元格向上移動的動畫。問題出在當前的動畫單元格中,例如索引第2行並回到索引爲1的父單元格中。
我希望動畫單元格位於父元素的前面。 如果我將表格向下滾動超過480px,這是iPhone屏幕的大小,然後再次單擊與索引第2行相同的單元格,單元格將很好地重疊父單元格。問題如下圖所示。重疊表格單元格動畫
你需要獲得細胞,並把它在視圖層次結構的前面。但是,獲取單元並不是立即顯而易見的:您不能在控制器中調用tableView:cellForRowAtIndexPath:
,因爲它將會出列或創建新單元。您需要做的是在桌面視圖上調用cellForRowAtIndexPath:
,並在開始動畫之前將其放在前面。
UIView* theCell = [tableView cellForRowAtIndexPath:someIndexPath];
[theCell.superview bringSubviewToFront:theCell];
您可以安全地對所有要進行動畫處理的細胞做到這一點,因爲它返回nil
如果他們不是在屏幕上可見。