0
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    int scrollCount = 0;

    scrollin.text = [NSMutableString stringWithFormat:@"didScroll - %i",scrollCount];

    scrollCount++;
}

常にdidScroll-0を取得します。株式会社ではありません。このメソッドは、すべてのスクロールが終了したときに呼び出されるため

4

2 に答える 2

1

scrollCount、メソッドが呼び出されるたびに初期化されます。つまり、常に 0 になるため、0 が表示さscrollCountれます。関数内で を永久に存続させたい場合は、静的にする必要があります。次のようなことができます。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    static int scrollCount = 0;
    scrollin.text = [NSMutableString stringWithFormat:@"didScroll - %i",scrollCount];
    scrollCount++;
}

このように、scrollCountは 1 回だけ初期化され、メソッドが呼び出されるたびにインクリメントされます。

scrollCountもう1つの方法は、ある種のクラス変数を追跡することですが、メソッド内でのみ使用する場合、それは私の意見では悪い習慣です。

于 2012-11-23T12:53:53.767 に答える
1

int scrollCount;これを .h で定義 し、

- (void)viewDidLoad
  {
   scrollCount = 0;
  }

int scrollCount を削除します。あなたがそれを使用している場所から;

于 2012-11-23T12:54:59.470 に答える