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)
}