1

組み込みのフリップ アニメーションを使用してさまざまなビューを切り替えるアプリがあります。スクロール ビューであり、最初のページではなかったビューに戻る場合を除いて、すべてが機能します。意味:

  • 私のスクロール ビューには 3 つのページがあります
  • ユーザーが 3 ページ目にスワイプ
  • ユーザーは 3 ページ目のボタンをタップして次のビューに進みます
  • ユーザーがスクロール ビューに戻ろうとすると、フリップ アニメーションはフリップ中に最初のページを表示し、フリップが完了すると正しいページにスナップします。

[scrollView setContentOffset] を使用してフリップ アニメーションの前に正しいページを設定していますが、それだけでは十分ではないようです。これを行う方法はありますか?

4

2 に答える 2

0

確認できる可能性の1つは、次を使用することですsetContentOffset

[scrollView setContentOffset:CGPointMake(pageWidth * pageNumber, 0)];

scrollViewの原点を移動して、ページ番号を表示しますpageNumber(0からNまでの範囲)。または、次の方法で試すことができます。

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

ただし、フリップアニメーションの実行方法を指定していないため、どちらが効果的かわかりません。

于 2012-06-26T18:27:40.997 に答える
0

使用する

[scrollView setContentOffset:theOffset animated:NO];

自分でアニメーションを実行しているため、アニメーションを抑制したいと考えています。また、アニメーションは現在の状態からアニメーション ブロックで指定した新しい値にすべてを変換するため、フリップ アニメーションの指定を開始する前にコンテンツ オフセットを設定する必要があります。

viewDidLoadまたはそれを呼び出すとviewWillAppear:うまくいくはずです。

于 2012-06-26T18:42:41.713 に答える