我试图拉动刷新并无限滚动到表格视图
我正确设置了委托:
tableView.delegate = self
但是在tableview中滚动时,滚动方法不会响应滚动动作,例如:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if scrollView == self.tableView {
let currentOffset: Float = Float(scrollView.contentOffset.y)
if currentOffset < 25 {
//refresh content
}
let offsetY = tableView.contentOffset.y
let contentHeight = tableView.contentSize.height
if offsetY > contentHeight - scrollView.frame.size.height + 25 {
// load more
}
}
}
这种情况是在我将方案构建配置更改为“发布”时发生的,但是当回到“调试”时,它可以正常工作。
我的部署目标是:11.0和XCode版本10.2(10E125)
答案 0 :(得分:0)
经过大量搜索,这可能是Swift 5编译器的问题(我在那发现了类似的错误报告):
解决方案是在每个方法中添加@objc:
@objc func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if scrollView == self.tableView {
let currentOffset: Float = Float(scrollView.contentOffset.y)
if currentOffset < 25 {
//refresh content
}
let offsetY = tableView.contentOffset.y
let contentHeight = tableView.contentSize.height
if offsetY > contentHeight - scrollView.frame.size.height + 25 {
// load more
}
}
}