UIRefreshControl不会清除tableview

时间:2017-06-30 15:51:30

标签: swift uitableview uirefreshcontrol

我正在尝试设置一个pull to refresh功能。刷新工作就像它应该的那样。 我按照以下方式设置了refreshControl:

let refreshControlAnimation = UIRefreshControl()
self.refreshControl?.addTarget(refreshControlAnimation, action: #selector(handleRefresh(refreshControl:)), for: UIControlEvents.valueChanged)
self.tableView?.addSubview(refreshControlAnimation)

我设置了一个目标并用pull执行handleRefresh函数。

  func handleRefresh(refreshControl: UIRefreshControl) {
        DataController().fetchDataLive(mode: "get", completionHandler: { success in
            self.tableView.reloadData()
            refreshControl.endRefreshing()
        })

    }

但是,如果我拉动刷新动画会被执行,但它不应该在它应该结束时结束。就像你在图片上看到的那样,动画仍然在节标题下执行。 enter image description here

但它应该尽快清除,就像在这张图片中一样。 enter image description here

为什么我的endRefreshing函数不会更快调用?

1 个答案:

答案 0 :(得分:2)

得到了你的问题。不应将刷新控件添加为子视图,因为swift已经完成了将其添加到tableview / tableviewcontrollers的规定。

使用: -

self.tableView.refreshControl = yourRefreshControl