これはGiltのようなiPhoneアプリで見られます。ユーザーがビューをスクロールすると、scrollViewの残りの部分が下にスライドするときに、サブビューが1つの端に「くっつく」ように見えます。つまり、scrollViewにはテキストボックス(またはその他)があり、scrollViewがビューの上部に当たると、ビューの残りの部分がスライドし続けるので、そこに「固定」されます。
したがって、いくつかの問題があります。まず、「scrollViewDidScroll:」(通常のスクロール中)を介して、対象のビューが通過する(または再表示される)時期を判別できます。ここにはかなりの粒度があります。デリゲート呼び出しの違いは、数百ポイント以上になる可能性があります。そうは言っても、ビューがscrollViewの上部に近づくのを見ると、scrollViewの上部の下に静的に表示されているビューの2番目のコピーをオンにします。私はこれをコーディングしていませんが、実際の「スティック」の外観が欠けているようです。ビューは最初に消えてから再び表示されます。
次に、setContentOffset:animatedを実行すると、デリゲートメッセージは取得されません(Giltはこれを実行しません)。では、この場合、どのようにしてコールバックを取得しますか?「scroll.layer.presentationLayer.bounds」でKVOを使用していますか?