0

UIScrollviewユーザーが左または右にスクロールするかどうかに基づいて、UI を再構成します。問題は、ユーザーがある画面から別の画面に確実に移動したことを確認する必要があることです (何かに沿ってcontentOffset)。

私はこの方法を使ってみました:

  -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

しかし、これは、ユーザーがスクロールビューを部分的に一方向に動かしたものの、ジェスチャを完了しなかった場合に発生します。

私もこの方法を試しました:

   -(void)scrollViewDidScroll:(UIScrollView *)scrollView;

しかし、主に同じ問題です。スクロールビューは左右にスクロールしますが、iPhone ではコンテンツが 640 ( 320 * 2) です。ある場所から別の場所にスクロールが交差したかどうかを把握しようとしています。

助言がありますか?

4

2 に答える 2

0

私はこれを行う方法を見つけました:

contentOffset の x 位置を維持するための変数があります

 -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
   currX = self.scrollView.contentOffset.x;
 }

そして、このイベントでは:

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
   if(self.scrollView.contentOffset.x == currX ) {
      return;//This is what I needed, If I haven't panned to another view return
   }
 //Here I do my thing.
于 2013-07-16T05:43:29.800 に答える