iOS swift:scrollview不调用didscrolltotop

iOS swift:scrollview不调用didscrolltotop,ios,swift,uiscrollview,Ios,Swift,Uiscrollview,晚上:我有一个滚动视图,里面有3个视图 我对scrollview代理有问题 从不调用didscrolltotop,而did scroll是 我不明白为什么 有什么帮助吗 看起来只有在某些情况下才会调用它,其中提到了滚动到顶部手势,这意味着它只能在状态栏上点击后才能工作,而不是基本滚动。似乎还需要将scrollsToTop属性设置为true 滚动视图在完成滚动到内容顶部时发送此消息。如果内容的顶部已经显示,它可能会立即调用它。要使scroll to top手势(点击状态栏)生效,UIScrollV

晚上:我有一个滚动视图,里面有3个视图

我对scrollview代理有问题

从不调用didscrolltotop,而did scroll是

我不明白为什么

有什么帮助吗


看起来只有在某些情况下才会调用它,其中提到了
滚动到顶部手势
,这意味着它只能在状态栏上点击
后才能工作,而不是基本滚动。似乎还需要将
scrollsToTop
属性设置为
true

滚动视图在完成滚动到内容顶部时发送此消息。如果内容的顶部已经显示,它可能会立即调用它。要使scroll to top手势(点击状态栏)生效,UIScrollView的ScrollStop属性必须设置为YES

您还可以使用
contentOffset

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    print("The current Y offset is \(scrollView.contentOffset.y)")
    if scrollView.contentOffset.y == 0 {
        print("we are at the top")
    }
}

您可能还想考虑使用这个方法,因为这意味着在滚动视图已经下沉后,您只能得到一个事件。

是<代码> ScRelStOOTP< /Cuff>属性集,按照该方法的文档吗?是的,在VIEWDIDLoad中,您可以提供一个MCVE吗?现在我们只能猜测。已经看到了那个部分。。。但这对我没有帮助。。。scrolltotop已经变为True听起来好像您无法执行它所要求的操作,您是否尝试过使用
contentOffset
属性?我相信只有在点击状态栏使scrollview滚动到顶部时才会调用该属性。@wez是否有办法知道用户是否试图在已经位于顶部时向上滚动?我的意思是当用户试图进入-y或者仅仅当滚动条在顶部反弹时?因为在这种情况下,我想关闭视图控制器您应该收到一个负偏移量是的,可能值得
print()。。然后编写代码来处理该行为。