【问题标题】:UIRefreshControl after 3 seconds endRefreshing3 秒后的 UIRefreshControl endRefreshing
【发布时间】:2016-04-28 12:12:51
【问题描述】:

我有一个使用UIRefreshControl 更新UITableView 的函数。但我希望它在 3 秒后调用函数 EndRefreshing

func updateMyTable(){

    tableView.reloadData()

    //refreshTable.endRefreshing()  
}

【问题讨论】:

    标签: ios swift uitableview uirefreshcontrol


    【解决方案1】:

    我所知道的 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()
        }
    }
    

    更新切换 3:

    func dispatchDelay(delay:Double, closure:@escaping ()->()) {
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay, execute: closure)
    }
    

    【讨论】:

      【解决方案2】:

      尝试使用以下方法在延迟一段时间后调用该方法:

      self.performSelector(Selector(yourMethod), withObject: nil, afterDelay: 3)
      

      该方法将在 3 秒延迟后调用。所以在你更新表格的地方添加这一行。

      希望对你有帮助..

      【讨论】:

        猜你喜欢
        • 2015-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多