當我打電話給self.refreshControl.endRefreshing()
時,它將tableView恢復到它原來的位置。我應該如何進行動畫製作,以便流暢地返回到原來的位置endRefreshing()
?UIRefreshController結束動畫問題
3
A
回答
6
對於有此問題的任何人,在重新加載表數據之前,您必須調用您的endRefreshing
方法。否則,當表更新它將覆蓋刷新,並導致它看起來越野車。
+0
「endRefreshing」刷新完成時必須顯式調用 – alexmorhun 2017-02-23 16:52:10
2
// stop refreshing
[self.refreshControl endRefreshing];
// update tableview
[self.tableview performSelector:@selector(reloadData) withObject:nil afterDelay:.3];
7
試試這個
[CATransaction begin];
[CATransaction setCompletionBlock:^{
// reload tableView after refresh control finish refresh animation
[self.tableView reloadData];
}];
[self.refreshControl endRefreshing];
[CATransaction commit];
1
這對我的作品與斯威夫特2
if self.refreshControl.refreshing {
self.refreshControl.endRefreshing()
}
GlobalHelper.setTimeout(0.1, block: {
self.tableView.reloadData()
})
,這是我的超時功能:
static func setTimeout(delay:NSTimeInterval, block:()->Void) -> NSTimer {
return NSTimer.scheduledTimerWithTimeInterval(delay, target: NSBlockOperation(block: block), selector: #selector(NSOperation.main), userInfo: nil, repeats: false)
}
1
我也遇到過這個問題。對於endRefreshing()
文檔狀態:
如果還啓用了動畫,則使用動畫隱藏控件。
我包裹在一個UIView動畫塊呼叫和過渡變得平滑:
UIView.animateWithDuration(0.5) {
self.refreshControl.endRefreshing()
}
0
在夫特3的iOS 10,我得到了類似的方法作爲ibrahimyilmaz和這裏是:
self.refreshControl.endRefreshing()
//Need to dispatch the alertView, otherwise, RefreshControl.endRefreshing() doesn't work.
let when = DispatchTime.now() + 1
DispatchQueue.main.asyncAfter(deadline: when) { [weak self] in
self?.showSettingAlertView()
}
起初,我是在調度endRefreshing的建議,在許多線程中,但實際上這是另一種方式對我來說很有用。
附加信息:此代碼在位置:didChange:delegate中執行,而不是在viewDidLoad或viewWillAppear中執行。 通過其他線程,當您嘗試結束刷新並嘗試同時顯示彈出窗口時,似乎Apple Apple中存在問題。
1
相關問題
- 1. 約束動畫問題
- 2. 觸摸結束導致segue動畫的問題
- 3. 當動畫結束時執行動畫
- 4. 用動畫GIF結束Flash動畫
- 5. 執行動畫動畫結束時
- 6. MPMoviePlayerViewController問題結束
- 7. 的UIView動畫結束
- 8. 結束動畫事件android
- 9. CALayer動畫結束回調?
- 10. Android動畫快速結束
- 11. 安卓:當動畫結束
- 12. 跳到CSS動畫結束
- 13. CSS3動畫結束技術
- 14. 等待動畫結束
- 15. iPhone等待動畫結束
- 16. 當動畫結束時,保留動畫的結尾圖像
- 17. 動畫問題
- 18. 動畫問題
- 19. 動畫結束後滾動,android
- 20. Android - 完成動畫結束活動?
- 21. 如何開始動畫結束活動
- 22. 動畫結束後的Javascript performe動作
- 23. 在動畫結束時執行動作
- 24. Windows/Unix行結束問題?
- 25. 結束GKTurnBasedMatch時的問題
- 26. ASP.NET響應。結束問題
- 27. UIRefreshController越過UICollectionView
- 28. 動畫結束後的調用函數結束於react-native-maps
- 29. 畫布動畫CPU問題
- 30. HTML5畫布動畫問題
我有這個問題和獨特的解決方案,我發現是調用reloadData有延誤,endRefreshing後。 [self.tableView performSelector:@selector(reloadData)withObject:self.tableView afterDelay:0.2]; – juannn91 2014-12-28 00:49:35
@ user1715438非常感謝。 – uhfocuz 2014-12-28 01:45:49
@ user1715438,我也是,afterDelay適合我,這是唯一的解決方案。 – gabbler 2015-02-15 13:04:59