Ios 为同一类中的2个不同UIScrollView设置委托

Ios 为同一类中的2个不同UIScrollView设置委托,ios,uitableview,uiscrollview,delegates,Ios,Uitableview,Uiscrollview,Delegates,我在班上有一个UIScrollView和一个UITableView(技术上也是一个UIScrollView)。我将该类设置为UIScrollViewDelegate,以便在激活scrollViewDidScroll方法时运行一些代码。问题是,当滚动视图和tableView都滚动时,会运行此代码,但我不希望出现这种情况 有没有办法把它们分开?我在网上查找,试图找到一种方法,将滚动视图委托设置为除self之外的任何其他对象,但没有成功。是否有人可以向我演示如何执行此操作或此问题的任何其他可能解决方案

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


有没有办法把它们分开?我在网上查找,试图找到一种方法,将滚动视图委托设置为除self之外的任何其他对象,但没有成功。是否有人可以向我演示如何执行此操作或此问题的任何其他可能解决方案?

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

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

希望这能有所帮助

我有点惊讶,在滚动tableview时会调用scrollViewDidScroll

无论如何,你可以用这个限制你的支票

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    if (scrollView == myScrollView) {
    //this is my scrollview do something cool here
   }
}

你可以用标记谢谢!真不敢相信我竟然没有想到这一点。欢迎@MahdiAleali我很高兴能帮助你投票。如果不打扰你,请也投票给我我的答案,非常感谢!
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    if (scrollView == myScrollView) {
    //this is my scrollview do something cool here
   }
}