ICarousel菜单无限循环

时间:2013-05-17 07:02:43

标签: iphone xcode carousel

我正在使用Icarousel编写Iphone应用程序。我用了2个旋转木马。当我先滚动时,第二个滚动第一个,当我滚动第二个时,首先滚动第二个。

我可以正确地做到这一点,但我遇到的问题是无限循环。

   - (void)carouselDidEndScrollingAnimation:(iCarousel *)Carousel
{  
    if (Carousel == carouselSecond)
    {
        NSLog(@"***Second Scroll");
       [carouselFirst scrollToItemAtIndex:carouselSecond.currentItemIndex duration:2];
    }
    else if(Carousel == carouselFirst)
    {
        NSLog(@"***First Scroll");
    [carouselSecond scrollToItemAtIndex:carouselFirst.currentItemIndex duration:2];
    }
}

显示是 ** 第二次滚动 * * First Scroll ** 第二次滚动 * * First Scroll ** 第二次滚动 * * First Scroll ** 第二次滚动 * * First Scroll ......

1 个答案:

答案 0 :(得分:2)

使用Integer变量来跟踪轮播滚动的次数。在你的.h文件中添加:

@property (nonatomic) NSUInteger numberofScrolls;
viewDidLoad中的

执行此操作:

self.numberofScrolls=0;

试试这个:

 - (void)carouselDidEndScrollingAnimation:(iCarousel *)Carousel
{  
self.numberofScrolls++;
if(self.numberofScrolls%2!=0){    
    if (Carousel == carouselSecond)
    {
        NSLog(@"***Second Scroll");
       [carouselFirst scrollToItemAtIndex:carouselSecond.currentItemIndex duration:2];
    }
    else if(Carousel == carouselFirst)
    {
        NSLog(@"***First Scroll");
        [carouselSecond scrollToItemAtIndex:carouselFirst.currentItemIndex duration:2];
    }
}

}

让我解释它的作用: 加载视图时,我们将numberofScrolls设置为0。 当用户停止滚动时,会调用carouselDidEndScrollingAnimation - >我们将numberofScrolls增加1,轮播2滚动到同一位置。在滚动完成轮播2后,再次调用carouselDidEndScrollingAnimation。我们再次增加numberofScrolls(现在是2)。但是这次我们不需要再次滚动另一个视图,self.numberofScrolls%2变为0.