UIRefreshControl在uitableview中重叠headerview

时间:2017-03-22 11:43:29

标签: uitableview uiviewcontroller uirefreshcontrol

我的UIViewController中有一个UITableView,并添加了一个UIRefreshControl:

lazy var refreshControl: UIRefreshControl = {
    let refreshControl = UIRefreshControl()
    refreshControl.addTarget(self, action: #selector(ListViewController.handleRefresh), for: UIControlEvents.valueChanged)

    return refreshControl
}()

 override func viewDidLoad() {
        super.viewDidLoad()
        self.tableView.addSubview(self.refreshControl)
 }

它工作正常但会产生令人讨厌的UI效果,它与标题视图重叠。

enter image description here

我尝试过设置frame heightcontentInset,但都没有效果。

1 个答案:

答案 0 :(得分:3)

我发现我不得不延迟UIRefreshControl被解雇,以便UI正常运行。

这对我来说可能是非常独特的,但我发布它是为了以防万一。

let when = DispatchTime.now() + 0.5 // change to desired number of seconds
DispatchQueue.main.asyncAfter(deadline: when) {
     refreshControl.endRefreshing()
}