2012-10-02 70 views
1

我發現similar question,但沒有答案(對不起,答案不起作用)。分組表視圖中的中間動畫看起來很可怕

所以我分組表,我想動畫內容更新,而不是做[tableView reloadData]。 我這樣做,通過使用此片的代碼:

// Data source already updated here, but reloadData wasn't called 
[self.tableView beginUpdates]; 
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationMiddle]; 
[self.tableView endUpdates]; 

我上傳的動畫的2個例子:http://cl.ly/1O3Z2M280n0z(慢動作):

正如你所看到的差異是巨大的。 我根本不會更改我的代碼,只需更改故事板中的tableView樣式即可。

是否有人沒有其他方式,然後繼承UITableView和UITableViewCell並使用CoreAnimation實現我自己的動畫?

回答

0

在動畫表格的行時,使用CoreAnimation實現自己的動畫不是必需的。

UITableView支持比簡單地重新加載部分更先進的動畫,我建議你看看它們。

由於您正在洗牌視頻中的行,您應該看看moveRowAtIndexPath:toIndexPath:(在UITableView上)。您將呼叫置於beginUpdatesendUpdates之內。

通過了解重新洗牌之前和之後的順序,您可以將所有行移動到新的位置並讓它們滑入正確的位置。

需要一些思考來確定每行應該在哪裏走,但這比滾動完全自定義的解決方案要容易得多。

+0

添加其他類型的動畫不是問題。淡入淡出的動畫效果非常完美,但我們希望「中間」動畫看起來有點像機場展示。 – OgreSwamp

相關問題