Ios UIRefreshControl在3秒后结束刷新
我有一个函数,可以使用Ios UIRefreshControl在3秒后结束刷新,ios,swift,uitableview,uirefreshcontrol,Ios,Swift,Uitableview,Uirefreshcontrol,我有一个函数,可以使用UIRefreshControl更新UITableView。但是我希望它在3秒钟后调用函数EndRefreshing func updateMyTable(){ tableView.reloadData() //refreshTable.endRefreshing() } 尝试在延迟一段时间后使用以下命令调用该方法: self.performSelector(Selector(yourMethod), withObject: nil, afterD
UIRefreshControl
更新UITableView
。但是我希望它在3秒钟后调用函数EndRefreshing
func updateMyTable(){
tableView.reloadData()
//refreshTable.endRefreshing()
}
尝试在延迟一段时间后使用以下命令调用该方法:
self.performSelector(Selector(yourMethod), withObject: nil, afterDelay: 3)
该方法将在3秒延迟后调用。因此,在更新表的地方添加这一行
希望对您有所帮助。我所知道的swift上可用的最佳延迟方法:
func dispatchDelay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
您的代码将是:
func updateMyTable(){
tableView.reloadData()
dispatchDelay(3.0) {
self.refresh.endRefreshing()
}
}
更新Swit 3:
func dispatchDelay(delay:Double, closure:@escaping ()->()) {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay, execute: closure)
}