在iOS中的icarousel中使用AsyncImageView的问题

jai*_*jai 5 xcode objective-c uiimageview ios icarousel

我开发了一个使用Asyncimageview和iCarousel的应用程序.但我的问题是,当我尝试从网址加载图像时,只有活动指示符加载到我的iCarousel的每个视图中,并且没有加载任何图像.这是我的代码

  - (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(AsyncImageView *)view
 {
if (view == nil
 {
  AsyncImageView * view = [[[AsyncImageView alloc]initWithFrame:CGRectMake(0, 0, 300, 280)] autorelease];
view.image=[UIImage imageNamed:@"infobg.png"];
view.imageURL=[imageURLs objectAtIndex:index];
}
return view;
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*any 2

请按照以下步骤操作,可能是由于以下原因您可能会遇到此问题

-- 检查你的 imageURLs 数组是否在 iCarousel 下有对象...如果它为空,你可能会遇到这种问题...

-- 进行数组分配并添加对象

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
Run Code Online (Sandbox Code Playgroud)

方法,因为如果您在 viewDidLoad 下的数组中添加对象,它将不起作用,因为轮播视图在 viewDidLoad 方法之前首先加载。

-- 如果即使在执行这些步骤之后您的数组元素仍然存在,请遵循此代码。

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(AsyncImageView *)view
{
view = [[[AsyncImageView alloc]initWithFrame:CGRectMake(0, 0, 300, 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;

}
Run Code Online (Sandbox Code Playgroud)

它会帮助你..