我想在內置動畫完成後執行一些代碼。如何在不使用完成塊的情況下在動畫之後執行代碼?
我有一個很多單元格/行的UITableView。有時候,當我做一些操作,然後我需要滾動到我的tableView的頂部。對於我使用:
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: true)
但我需要執行一些代碼,一旦頂部到達,這樣一個簡單的選擇和1RST行取消。
我從UIScrollViewDelegate
執行func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView)
。它工作正常(或多或少,有時動畫不是很順利,我們看不到選擇/取消選擇「動畫」),除非我已經在tableView的頂部,那麼不會調用scrollViewDidEndScrollingAnimation
。
那麼有沒有一種方法可以執行一次代碼scrollToRowAtIndexPath:atScrollPosition:animated
被調用?
編輯:
當我在談論做一些操作,我說的是從UITableView
移動使用moveRowAtIndexPath:toIndexPath
一行。
所以當需要滾動的時候它很好,兩個動畫都需要大約相同的時間。但是當不需要滾動時,然後執行我想在動畫之後執行的代碼,在動畫的同時開始執行
您是否嘗試過把您的文章動畫代碼爲scrollViewDidEndDragging()和/或scrollViewDidEndDecelerating()? – Abdullah 2015-04-04 04:19:19
是的,我嘗試了他們兩個,他們沒有在我的情況下調用,因爲它是一個動畫 – Nico 2015-04-04 04:49:57