我开发了一个使用Asyncimageview和iCarousel的应用程序.但我的问题是,当我尝试从网址加载图像时,只有活动指示符加载到我的iCarousel的每个视图中,并且没有加载任何图像.这是我的代码
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(AsyncImageView *)view { if (view == nil { AsyncImageView * view = [[[AsyncImageView alloc]initWithFrame:CGRectMake(0,300,280)] autorelease]; view.image=[UIImage imageNamed:@"infobg.png"]; view.imageURL=[imageURLs objectAtIndex:index]; } return view; }
解决方法
请遵循以下步骤,原因可能是您可能遇到此问题
– 检查你的imageURLs数组是否在iCarousel下有对象…如果它为null你可能有这种问题….
– 进行数组分配并添加对象
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
方法,因为如果你在viewDidLoad下的数组中添加对象,它将无效,因为轮播视图首先在viewDidLoad方法之前加载.
– 如果您的数组元素在这些步骤后仍然存在,请遵循此代码.
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(AsyncImageView *)view { view = [[[AsyncImageView alloc]initWithFrame:CGRectMake(0,280)] autorelease]; view.image=[UIImage imageNamed:@"infobg.png"]; view.imageURL=[imageURLs objectAtIndex:index]; //NSLog(@"%@",imageURLs)//check imageURLs having object if(view ==nil) { [[AsyncImageLoader sharedLoader]cancelLoadingImagesForTarget:view]; } return view; }
它会帮助你..