3 秒后 UIRefreshControl endRefreshing
UIRefreshControl after 3 seconds endRefreshing
我有一个使用 UIRefreshControl
更新 UITableView
的函数。但我希望它在 3 秒后函数调用 EndRefreshing
.
func updateMyTable(){
tableView.reloadData()
//refreshTable.endRefreshing()
}
尝试使用以下延迟一段时间后调用该方法:
self.performSelector(Selector(yourMethod), withObject: nil, afterDelay: 3)
该方法将在 3 秒延迟后调用。所以在更新 table.
的地方添加这一行
希望对您有所帮助..
我知道的最好的延迟方法可在 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)
}
我有一个使用 UIRefreshControl
更新 UITableView
的函数。但我希望它在 3 秒后函数调用 EndRefreshing
.
func updateMyTable(){
tableView.reloadData()
//refreshTable.endRefreshing()
}
尝试使用以下延迟一段时间后调用该方法:
self.performSelector(Selector(yourMethod), withObject: nil, afterDelay: 3)
该方法将在 3 秒延迟后调用。所以在更新 table.
的地方添加这一行希望对您有所帮助..
我知道的最好的延迟方法可在 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)
}