我正在使用Nick Lockwood的iCarousel。优秀作品。 有一个问题,我需要以某种方式重置/清除轮播,然后再将新专辑加载到其中。
背景: App从API中提取XML并将其解析为数组。 TableView使用第一个xml作为相册列表。 当用户选择/点击相册时,我推送到iCarousel查看。 用户可以备份并选择另一个专辑
精美的第一张专辑。 只要获得的任何专辑拥有与第一张相同数量或更多的照片,就可以正常工作。 当用户选择一张比所选第一张专辑少的照片的专辑时,会发生炸弹。
Err在:
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
...//('thumbs' is thumbnail array)
APIContentObject *currentPhoto = [thumbs objectAtIndex:index];
...
}
希望将我的阵列同步到iCarousel,它会试图加载' [thumbs objectAtIndex:index]'当index为6且array.count为4 ...
时我试过carousel = nil;在viewWillDisappear上,不。 我做的是旋转木马=零;在ViewDidLoad中,我什么都没得到......什么时候实例化?在ViewDidLoad之前?
我真的只需要知道如何清空它或清除它或relloc / init它。 我尝试了一个' for'循环手动删除每个人的指数,但我也有错误..
它确实有效,只是没有预料到的那样。律'建议? 非常感谢。
编辑: 好的,当我使用时:
- (NSUInteger)numberOfVisibleItemsInCarousel:(iCarousel *)carousel
{
//return the total number of items in the carousel
return [thumbs count];
}
设置可见项目的数量......这似乎是一个兴趣点。 如果我不设置它/使用这段代码,那么只会显示7个左右的图像...如果我设置了它们,它们都会出现,但是当它击中一个图像数量较少的相册时它就会爆炸。 我在这个圈子里跑来跑去。
答案 0 :(得分:0)
从另一篇关于回收问题的帖子中找到了线索。
我接到我要求将图像加载到回收站内...(ProgrammerError * ME!)
if (view == nil)
{...
[((FXImageView *)view) setImageWithURL:[NSURL URLWithString:currentPhoto.ThumbnailURL] placeholderImage:[UIImage imageNamed:@"loading.png"]];
...}
把它移到了条件之外并且好了...好一点。