swift 4刷新控制在顶部

时间:2018-04-05 14:58:01

标签: ios swift refresh pull-to-refresh

您好我的应用程序中有一个弹性标题,我正在添加我的刷新控件tableView.addSubview(refreshControll)

但是在使用它时,它位于我视图的中间或底部,而不是固定在顶部我该怎么解决这个问题?

enter image description here

3 个答案:

答案 0 :(得分:2)

自从iOS 10或iOS 11 UITableViewUICollectionView获得了自己的刷新控制选项。

var refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(reloadData), for: UIControl.Event.valueChanged)
tableView.refreshControl = refreshControl

您还可以查看有关UITableViewController的Apple文档。

答案 1 :(得分:2)

在iOS 10中,您有两个选项可以向UIScrollView添加刷新控件: 您可以像其他刷新控件一样将其添加到tableView中:

tableView.addSubview(refreshControl)

这将在UITableView的顶部显示refreshControl,就像将其添加到tableHeaderView一样。 另一个选择是使用UIScrollView类中已经包含的refreshControl:

tableView.refreshControl = UIRefreshControl()

使用此选项,UIViewController可以控制将refreshControl放置在何处,因为iOS 10会将其移动到导航栏上方的视图顶部。在iPhone上检查“邮件”应用以查看示例。

答案 2 :(得分:0)

refreshControl.addTarget(self, action: #selector(refresh( sender:)), for: .valueChanged)
tableView.insertSubview(refreshControl, at: 0)

func refresh(sender: UIRefreshControl) {
    sender.beginRefreshing()
    // refresh tableview datasource
    refresh()
}