当我打电话给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