您好我的应用程序中有一个弹性标题,我正在添加我的刷新控件tableView.addSubview(refreshControll)
但是在使用它时,它位于我视图的中间或底部,而不是固定在顶部我该怎么解决这个问题?
答案 0 :(得分:2)
自从iOS 10或iOS 11 UITableView
和UICollectionView
获得了自己的刷新控制选项。
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()
}