iCarousel currentItemIndex 不会改变

Posted

技术标签:

【中文标题】iCarousel currentItemIndex 不会改变【英文标题】:iCarousel currentItemIndex doesn't change 【发布时间】:2015-01-17 12:19:49 【问题描述】:

所以我使用 iCarousel 在我的应用程序中显示一些图像,并且我需要一个标签来在我滚动时显示当前图像索引(例如“3/10”)。这是我的代码:

- (void)carouselCurrentItemIndexDidChange:(iCarousel *)carousel

    NSLog(@"index: %i", currentItemIndex);

    imageNumber.text = @"";        
    imageNumber.text = [[[imageNumber.text
                      stringByAppendingString:[NSString stringWithFormat:@"%i", currentItemIndex+1]]
                     stringByAppendingString:@"/" ]
                    stringByAppendingString:[NSString stringWithFormat:@"%i", carousel.numberOfItems]];    

虽然每次滚动都会调用此方法,但 currentItemIndex 永远不会改变。它保持为 0。 有谁知道这是为什么,或者可以建议当用户滚动轮播时我可以更新索引的另一种方式?

【问题讨论】:

【参考方案1】:

首先,你需要有

    carousel.currentItemIndex

而不是currentItemIndex

其次,你也可以实现carouselDidEndScrollingAnimation:委托并检查索引:

- (void)carouselDidEndScrollingAnimation:(iCarousel *)carousel

    NSLog(@"index: %i", carousel.currentItemIndex);

【讨论】:

以上是关于iCarousel currentItemIndex 不会改变的主要内容,如果未能解决你的问题,请参考以下文章

使用 iCarousel 进行无限循环

需要在icarousel中拖放视图

iCarousel 未正确设置标签

iCarousel 重复图像

使用 iCarousel 缩放项目

icarousel 没有出现在 ios7 上