我用的是尼克·洛克伍德的iCarousel。干得好。在将新专辑加载到其中之前,我需要以某种方式重置/清除转盘。
背景:应用程序从API中提取XML并将其解析为数组。TableView使用first xml作为专辑列表。当用户选择/点击相册时,我使用iCarousel推送查看。用户可以备份并选择另一个相册
第一张专辑效果很好。只要之后挑选的任何相册都有与第一张相册一样多或更多的照片,就可以正常工作。当用户选择一个相册中的图片少于所选的第一个相册时,会产生炸弹。
错误在以下位置:
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
...//('thumbs' is thumbnail array)
APIContentObject *currentPhoto = [thumbs objectAtIndex:index];
...
}希望将我的数组同步到iCarousel,当索引为6,array.count为4时,试图加载'thumbs objectAtIndex: index‘将会失败……
我在viewWillDisappear上试过carousel=nil;,没有。我做了一个carousel=nil;在ViewDidLoad中,我什么也得不到...什么时候实例化?在ViewDidLoad之前?
我真的只需要知道如何清空它或者清除它,或者重新定位/初始化它。我尝试了一个'for‘循环来手动删除每个元素的I,但我在那里也遇到了错误。
它确实起作用了,只是不像预期的那样。Lil的建议?非常感谢。
编辑: ok,当我使用:
- (NSUInteger)numberOfVisibleItemsInCarousel:(iCarousel *)carousel
{
//return the total number of items in the carousel
return [thumbs count];
}设置可见items...this的数量似乎是一个有趣的问题。如果我不设置它/使用这段代码,那么只有7个左右的图像显示出来...如果我设置了它,它们都会显示出来,但当命中图像数量较少的专辑时,它就会爆炸。我在这件事上绕了一圈。
发布于 2012-11-28 02:17:14
从阅读另一篇关于回收问题的文章中得到了线索。
我调用了将镜像加载到回收器中...(ProgrammerError *ME!)
if (view == nil)
{...
[((FXImageView *)view) setImageWithURL:[NSURL URLWithString:currentPhoto.ThumbnailURL] placeholderImage:[UIImage imageNamed:@"loading.png"]];
...}把它移到条件之外然后哇哇...好多了。
https://stackoverflow.com/questions/13571600
复制相似问题