當我打電話給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. 結束動畫事件android
- 3. iPhone等待動畫結束
- 4. CSS3動畫結束技術
- 5. CALayer動畫結束回調?
- 6. MPMoviePlayerViewController問題結束
- 7. 當動畫結束時,保留動畫的結尾圖像
- 8. 如何開始動畫結束活動
- 9. 動畫結束後的Javascript performe動作
- 10. 動畫問題
- 11. ASP.NET響應。結束問題
- 12. 結束GKTurnBasedMatch時的問題
- 13. 動畫結束後的調用函數結束於react-native-maps
- 14. 如何在另一個動畫結束時啓動動畫?
- 15. 畫布動畫問題
- 16. HTML5畫布動畫問題
- 17. 畫布動畫CPU問題
- 18. 自定義動畫結束觸發器
- 19. 框架結束時CSS3動畫閃爍
- 20. 鏈接不讓動畫結束JQUERY
- 21. 如何通過動畫結束UILongPressGestureRecognizer?
- 22. AngularJS - 查找崩潰動畫結束
- 23. 動畫結束進入初始值
- 24. 用於動畫結束的UIPopoverController callbalck
- 25. 淡入不是等待動畫結束
- 26. 在循環結束時停止動畫
- 27. 如何處理佈局動畫結束
- 28. UITableView,如何捕捉動畫結束?
- 29. 無法檢測到動畫結束
- 30. CALayer的動畫結束回調?
我有這個問題和獨特的解決方案,我發現是調用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