【发布时间】:2017-10-15 21:54:26
【问题描述】:
我遇到了一个奇怪的问题,当我将 UIRefreshControl 与 UITableView 和自定义 UITableViewCells 结合使用时,它会出现故障。如果我使用基本的(在 Xcode 的检查器面板中设置)它工作得很好。见GIFs on Imgur。
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.prefersLargeTitles = true
refreshControl = UIRefreshControl()
refreshControl?.addTarget(self, action: #selector(self.refresh), for: .valueChanged)
tableView.refreshControl = refreshControl
refresh()
}
@objc func refresh() {
tableView.reloadData()
refreshControl?.endRefreshing()
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 8
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
return cell!
}
检查器中 UITableView 和 UITableViewCell 的设置是默认设置。我在多个项目中遇到了这个问题。上面的代码在一个干净的项目中。 prefersLargeTitles = false时刷新控件也会跳转。
如何使用自定义 TableViewCell 使刷新控件正常运行?
【问题讨论】:
-
请在您的帖子和外部网站上包含图片
-
@slashburn 我的声望不够高。
-
对不起,我的错 :)
标签: swift xcode uitableview uirefreshcontrol