gpt4 book ai didi

ios - UIScrollViewDelegate 中的委托(delegate)方法不响应 TableView 滚动事件

转载 作者:行者123 更新时间:2023-11-28 11:34:52 26 4
gpt4 key购买 nike

我正在尝试在不需要外部库的情况下进行下拉刷新和无限滚动到 TableView

我正确设置了委托(delegate):

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
}

}

}

这种情况发生在我将方案构建配置更改为“发布”时,但当返回“调试”时它工作正常。

enter image description here

我的部署目标是:11.0,XCode 版本 10.2 (10E125)

最佳答案

经过大量搜索后,它可能是 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
}

}

}

关于ios - UIScrollViewDelegate 中的委托(delegate)方法不响应 TableView 滚动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55749671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com