您可以在 Gilt 等 iPhone 应用程序中看到这一点。用户滚动一个视图,并且一个子视图显然“粘”到一个边缘,因为其余的 scrollView 在下面滑动。也就是说,scrollView 中有一个文本框(或其他任何内容),当 scrollView 到达视图顶部时,当视图的其余部分继续滑动时“粘”在那里。
所以,有几个问题。首先,可以通过“scrollViewDidScroll:”(在正常滚动期间)确定感兴趣的视图何时通过(或重新出现)。这里有相当多的粒度 - 委托调用之间的差异可能是一百点或更多。也就是说,当您看到视图接近 scrollView 顶部时,您会打开静态显示在 scrollView 顶部下方的视图的第二个副本。我没有对此进行编码,但它似乎缺乏真正的“棒”外观 - 视图将首先消失然后重新出现。
其次,如果执行 setContentOffset:animated,则不会获得委托消息(Gilt 不会这样做)。那么,在这种情况下如何获得回调呢?你在 "scroll.layer.presentationLayer.bounds" 上使用 KVO 吗?