在TableView标题下放置Pull to Refresh Control

时间:2016-07-26 12:38:43

标签: ios objective-c iphone swift uitableview

我已将headerView附加到UITableView。而且我也想使用pull来刷新tableview。 我已使用以下代码将headerview附加到tableview:

tblView.tableHeaderView = headerView

并使用redresh controll作为:

var refreshControl: UIRefreshControl!
refreshControl = UIRefreshControl()
refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
refreshControl.addTarget(self, action: #selector(self.refresh(_:)), forControlEvents: UIControlEvents.ValueChanged)

let tableController = UITableViewController()
self.addChildViewController(tableController)
tableController.tableView = self.tblView
tableController.refreshControl = self.refreshControl

现在问题是当我拉下tableview refreshcontrol显示但我的标题视图位置也随着弹跳效果而变化。我拉下来时我不想改变标题位置我想在标题视图下显示refreshcontrol。 我的标题视图和refreshcontrol显示在屏幕截图中。我希望标题视图的位置静态与导航栏连接,但是当用户向上滚动标题视图时也必须滚动。

When pulled

1 个答案:

答案 0 :(得分:3)

enter image description here

1)在uiviewcontroller中添加标题视图而不是tableview的标题视图,

2)你可以改变tableView contentoffset的headerframe一致scrollView,它有点复杂

3)github.com/CoderJackyHuang/StickyUpDownDemo这个演示你可以学习如何解决你的问题