Ios 在下拉隐藏导航项时,刷新控件会在表视图上方留下较大的间隙

Ios 在下拉隐藏导航项时,刷新控件会在表视图上方留下较大的间隙,ios,swift,xcode,Ios,Swift,Xcode,当ios版本超过11时,会出现这种情况,原因是下面的代码。我如何避免同样的情况。我已将刷新控件添加到表视图中。如果ios版本超过11.0,我想将搜索栏加载到导航栏 refreshController.addTarget(self, action: #selector(refreshSelector), for: .valueChanged) // Add Refresh Control to Table View if #available(iOS 10.0, *) {

当ios版本超过11时,会出现这种情况,原因是下面的代码。我如何避免同样的情况。我已将刷新控件添加到表视图中。如果ios版本超过11.0,我想将搜索栏加载到导航栏

    refreshController.addTarget(self, action: #selector(refreshSelector), for: .valueChanged)
    // Add Refresh Control to Table View
if #available(iOS 10.0, *) {
    tableView.refreshControl = refreshController
} else {
    tableView.addSubview(refreshController)
}


         @objc func refreshSelector()
            {
                if(!searchLoaded)
                {
                    searchLoaded = true

                   //self.tableView.tableHeaderView = searchController.searchBar
                    if #available(iOS 11.0, *) {
                        self.navigationItem.searchController = searchController
                    } else {
                        self.tableView.tableHeaderView = searchController.searchBar
                    }
        //           self.refreshController.endRefreshing()

                  //  tableView.setContentOffset(CGPoint.zero, animated: true)
                    print( "Got ya")
                    self.navigationItem.rightBarButtonItem = nil
                }
                refreshController.endRefreshing()
           // self.tableView.scrollToRow(at: IndexPath(row: 1, section: 0), at: UITableViewScrollPosition.top, animated: true)

              //  self.refreshController.removeFromSuperview()


            }

它是通过添加
UIRefreshControl

试试这个:

// Add Refresh Control to Table View
if #available(iOS 10.0, *) {
    tableView.refreshControl = refreshControl
} else {
    tableView.addSubview(refreshControl)
}
尝试更改:

tableView.addSubview(refreshControl) to 
tableView.backgroundView = refreshControl
我也面对了这个问题,关注了这个博客:


这在表和导航项之间留下了一个很大的距离。有什么原因吗?真奇怪。我使用的是相同的代码,它工作完全正常。你是否也将搜索栏附加到导航项?如果是,你能帮我写代码吗?不起作用,你能分享你的完整代码吗。这可能会有帮助。我没有将搜索栏附加到导航项。它是普通的
viewController
,带有
tableView
作为
subview