在 TableView 标题下放置拉动以刷新控件
Posted
技术标签:
【中文标题】在 TableView 标题下放置拉动以刷新控件【英文标题】:Put Pull to Refresh Control under TableView Header 【发布时间】:2016-07-26 12:38:42 【问题描述】:我已将 headerView 附加到 UITableView。而且我还想用拉来刷新tableview。 我已使用以下代码将 headerview 附加到 tableview:
tblView.tableHeaderView = headerView
并将 redresh 控件用作:
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 显示但我的标题视图位置也随着反弹效果而变化。我不想在下拉时更改标题位置我想在标题视图下显示刷新控件。 我的标题视图和刷新控件显示在屏幕截图中。我希望标题视图的位置与导航栏静态连接,但是当用户向上滚动时,标题视图也必须滚动。
【问题讨论】:
【参考方案1】:1)在uiviewcontroller中添加header view而不是tableview的headerview,
2)你可以改变headerframe与tableView contentoffset的scrollView一致,有点复杂
3)github.com/CoderJackyHuang/StickyUpDownDemo这个demo你可以学习解决你的问题
【讨论】:
以上是关于在 TableView 标题下放置拉动以刷新控件的主要内容,如果未能解决你的问题,请参考以下文章
UITableView:刷新完成后强制“释放tableview”