gpt4 book ai didi

ios - 为同一类中的 2 个不同 UIScrollView 设置委托(delegate)

转载 作者:行者123 更新时间:2023-12-01 19:51:08 25 4
gpt4 key购买 nike

我的类(class)中有一个 UIScrollView 和一个 UITableView(技术上也是一个 UIScrollView)。我将类设为 UIScrollViewDelegate,以便在激活 scrollViewDidScroll 方法时运行一些代码。问题是当 ScrollView 和 tableView 都滚动时运行此代码,但我不希望出现这种情况。

有什么办法可以将它们分开吗?我在网上查看并试图找到一种方法将 ScrollView 委托(delegate)设置为除 self 之外的任何内容,但没有成功。谁能告诉我如何做到这一点或任何其他可能的解决方案?

最佳答案

您可以检查哪个对象正在调用委托(delegate)方法,UIScrollViewDelegate 上的所有方法将对象作为参数 ej 传递:

func scrollViewDidScroll(_ scrollView: UIScrollView)
func scrollViewDidZoom(_ scrollView: UIScrollView)
func scrollViewWillBeginDragging(_ scrollView: UIScrollView)
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)

以此类推,您需要通过 进行简单检查示例
func scrollViewDidScroll(_ scrollView: UIScrollView)
{
if(scrollView == self.yourTableView)
{
debugPrint("is tableView")
}

if(scrollView == self.yourScrollView)
{
debugPrint("is scrollView")
}
}

希望这可以帮助

关于ios - 为同一类中的 2 个不同 UIScrollView 设置委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872241/

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