UIRefreshControl 和 tableFooterView = UIView()
Posted
技术标签:
【中文标题】UIRefreshControl 和 tableFooterView = UIView()【英文标题】:UIRefreshControl and tableFooterView = UIView() 【发布时间】:2016-07-28 11:01:22 【问题描述】:在我的 tableView 中,我需要 self.tableView.tableFooterView = UIView() 否则表格会向下滚动太远。问题是,如果我添加它,那么我刷新 UIRefreshControl 的拉动将不再起作用。有没有办法两者兼得?
【问题讨论】:
【参考方案1】:为此自定义控件刷新控件
【讨论】:
很抱歉,您能进一步解释一下吗?【参考方案2】:没有理由不能两者兼得。您是否以正确的方式添加了UIRefreshControl
?
这是我的一个项目的工作代码:
var pullToRefreshControl : UIRefreshControl!
override func viewDidLoad()
super.viewDidLoad()
self.setFooterView()
self.addPullToRefreshView()
private func setFooterView()
let footerView = UIView()
let footerLabel = UILabel()
footerLabel.text = "Table Footer"
footerLabel.sizeToFit()
footerView.addSubview(footerLabel)
self.tableView.tableFooterView = footerView
private func addPullToRefreshView()
pullToRefreshControl = UIRefreshControl()
pullToRefreshControl.attributedTitle = NSAttributedString(string: "Pull To Refresh")
pullToRefreshControl.addTarget(self, action: "refresh:", forControlEvents: .ValueChanged)
self.tableView.addSubview(pullToRefreshControl!)
【讨论】:
是的,我在我的项目中尝试了这个确切的代码,但它没有工作。 (我不得不删除-> UIVIew,因为没有回报)。由于某种原因,页脚阻止了所有滚动。 一个小提示,可能会产生重大影响 - 将 tableview 样式设置为Grouped
而不是 Plain,无论是在 InterfaceBuilder 中还是通过代码。
对不起。解决了!我有 self.tableView.alwaysBounceVertical = false 导致刷新不起作用
很高兴你知道了!以上是关于UIRefreshControl 和 tableFooterView = UIView()的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 和 UIRefreshControl 因未知原因被下移
scrollsToTop 和 UIRefreshControl 的错误
在 UIViewController 中使用 UIRefreshControl 和 UITableView