我有一个iCarousel画廊,我在其中从Web服务获取图像。画廊展示完美。我使用iCarasouel委托方法“didSelectItemAtIndex”来选择从头到尾的图像。我的icarousel类型是“carousel.type = iCarouselTypeCoverFlow;”。
我选择了图像并获得了正确的图像索引,didSelectItemAtIndex只有在我滚动图库并且图像从中心移动时才能正常工作,但是当视图加载时,“Frist或任何图像”显示在中心不会被选中didSelectItemAtIndex。当我再次滚动画廊并从中心移动中心图像然后它工作正常,然后我可以选择图像并转到下一个类或视图。
我想选择在Icaraosel中心展示的图像。不知道怎么做?
非常欢迎来自专家的任何提示。
答案 0 :(得分:3)
您可以在给定的下面委托方法
中获取图像的当前索引- (void)carouselCurrentItemIndexUpdated:(iCarousel *)carousel1
图像完全加载后再调用
[self carouselCurrentItemIndexUpdated:carousel];
以下是代码:
在viewDidLoad中调用如下所示的方法,此处carsousel位于iCarsouel的实例中。
- (void)viewDidLoad
{
[super viewDidLoad];
[self carouselCurrentItemIndexUpdated:carousel];
}
- (void)carouselCurrentItemIndexUpdated:(iCarousel *)carousel1
{
self.currentItem=carousel1.currentItemIndex;
NSLog(@"currentItem update== %i",self.currentItem);
}
希望这会有所帮助......
答案 1 :(得分:1)
我不知道我是否理解你:您希望在首次重新加载视图后立即收到didSelectItemAtIndex:
消息而不滚动?
只询问currentItemIndex
,如果您希望所选内容成为中心,请始终致电centerItemWhenSelected
所以只需调用[self didSelectItemAtIndex:carousel.currentItemIndex];`手动
答案 2 :(得分:1)
-(void)carousel:(iCarousel *)carousel didSelectItemAtIndex:(NSInteger)index
{
if (index == carousel.currentItemIndex)
{
///Selected centered item only
}
}