私の質問はこの方法についてです:(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
ドキュメントを読みましたが、この方法が何のためにあるのかわかりません。
あなたの答えをありがとう。
ドキュメント で述べたように。
特定のオフセットまでスクロール
特定の左上の場所(contentOffset
プロパティ)へのスクロールは、2つの方法で実行できます。 setContentOffset:animated:
メソッドは、指定されたコンテンツオフセットまでコンテンツをスクロールします。アニメーション化されたパラメータがYES
の場合、スクロールは現在の位置から指定された位置まで一定の速度でアニメーション化されます。アニメーション化されたパラメータがNO
の場合、スクロールは即座に行われ、アニメーション化は行われません。どちらの場合も、デリゲートはscrollViewDidScroll:
メッセージを送信します。アニメーションが無効になっている場合、またはcontentOffset
プロパティを直接設定してコンテンツオフセットを設定した場合、デリゲートは単一のscrollViewDidScroll:
メッセージを受信します。アニメーションが有効になっている場合、アニメーションの進行中に、デリゲートは一連のscrollViewDidScroll:
メッセージを受信します。アニメーションが完了すると、デリゲートはscrollViewDidEndScrollingAnimation:
メッセージを受信します。
つまり、簡単に言えば、スクロール位置の値、つまりスクロールする量を渡すことによってプログラムでUIScrollView
をスクロールする場合は、この方法を使用できます。
このメソッドは、デリゲートscrollViewDidScroll:
、つまりUIScrollView
クラスのデリゲートメソッドも呼び出します。これにより、UIScrollView
のスクロール量を維持できます。
UIScrollViewを使用すると、画面に表示できるコンテンツよりも大きいコンテンツを作成できます。下の画像では、内部に緑色の長方形がある大きな赤い長方形を見ることができます。
UIScrollViewのcontentAreaプロパティは、ビューの論理サイズ(赤い長方形)を定義します。スクロールビューの表示領域は、緑色の長方形で表されます。 contentOffsetは、表示領域の左上隅です。 contentOffsetを変更すると、表示領域が移動します。
(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
上記のメソッドは、contentOffset(緑色の長方形の左上隅)を指定された場所に移動し、表示領域(緑色の長方形)を移動します。
お役に立てれば。