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只会被初始化一次,并且每次调用该方法时都会递增。

另一种方法是跟踪scrollCount某种类变量,但我认为这是不好的做法,如果你只在方法中使用它。

于 2012-11-23T12:53:53.767 回答
1

在 .h 中定义 int scrollCount;它并分配它

- (void)viewDidLoad
  {
   scrollCount = 0;
  }

删除 int 滚动计数;从您使用它的地方;

于 2012-11-23T12:54:59.470 回答