2012-02-28 89 views
0

我試圖實現一種效果,其中作爲tableview滾動,當前可見的單元格將根據它們在屏幕上的位置進行動畫處理。我有點新的IOS開發,所以讓我嘗試把它分解:UITableView滾動時爲單元格製作動畫

  • 泰伯維負載與定製單元用戶開始滾動雖然
  • 表是在運動時,可見細胞有一個UIView中我想 喜歡執行一個動畫,直接對應屏幕上當前Y位置的單元格的位置。
  • 單元格將只動畫時,他們 可見
  • 細胞動畫直接對應於表運動,即每當 表視圖滾動,將細胞動畫;一旦 錶停止,暫停動畫

一種解決方案予想到的是更新的drawRect當的tableview移動每個單幀。根據圖形操作,這可能是糟糕的表現。有沒有辦法在每次改變時抓取當前表格的位置?我會更適合使用Core Animation嗎?

回答

1

使您的視圖控制器成爲UITableView的委託,並使用scrollview委託的所有方法。在那裏你有很多開始滾動和結束滾動的控件,並且在thpse控件中你可以檢查uitableview單元格的位置。

+0

正是我在找什麼,謝謝。我認爲必須有一個框架API來實現這一點,謝謝。 – Chris 2012-02-29 16:51:03

0

你必須成爲委託給這樣的:https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

,這是方法覆蓋和動畫的細胞:

– tableView:willDisplayCell:forRowAtIndexPath: 
+0

我很確定這是不夠的。它只會告訴你單元格何時可見,它不會告訴你它將顯示在哪裏。 – 2012-02-29 09:32:32

+2

你說得對。但是,如果您成爲scrollview協議的此方法的代表:scrollViewDidScroll:然後從TableView中獲取indexPathsForVisibleRows併爲這些行設置動畫。 Offcourse你將不得不跟蹤你開始動畫的單元格和你沒有的單元格。無論如何,也許它仍然是一個更清潔的解決方案 – 2012-02-29 09:43:15

相關問題