iCarousel 显示来自图像 URL 数组的图像

Posted

技术标签:

【中文标题】iCarousel 显示来自图像 URL 数组的图像【英文标题】:iCarousel display images from array of images' URLs 【发布时间】:2017-01-05 07:52:38 【问题描述】:

我已经使用以下相关代码为 iPad 上的横幅视图实现了 iCarousel:

- (NSInteger)numberOfItemsInCarousel:(__unused iCarousel *)carousel

    return (NSInteger)[self.bannerDatas count];


- (UIView *)carousel:(__unused iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view

    if (view == nil)
    

        view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 215.0f, 155.0f)];
        ((UIImageView *)view).image = [UIImage imageNamed:[self.netImages objectAtIndex:index]];

        view.contentMode = UIViewContentModeCenter;

    
    return view;

但问题出在这一行:

((UIImageView *)view).image = [UIImage imageNamed:[self.netImages objectAtIndex:index]];

netImages 需要是图像的名称才能获得此作品,但我的 netImages 包含图像的 URL 数组。所以我的问题是如何使用图片 URL 而不是 Carousel 的名称?

下面是netImages如何获取数据:

- (NSArray *)setUpNetImages 

    self.netImages = [NSMutableArray new];

    for (BannerData *data in self.bannerDatas) 

        if (data.imageUrl != nil) 
            [self.netImages addObject:data.imageUrl]; //original

        
    

    return self.netImages;

【问题讨论】:

【参考方案1】:

请使用SDwebImage,它为您提供了从 url 在异步排序器中下载图像的功能,并在下载完成后更新您的图像。您的 UI 永远不会停止。

((UIImageView *)view)sd_setImageWithURL:[NSURL URLWithString:[self.netImages objectAtIndex:index]]
         placeholderImage:[UIImage imageNamed:@"placeholder.png"]]

你只需要添加它并导入

#import <SDWebImage/UIImageView+WebCache.h>

【讨论】:

以上是关于iCarousel 显示来自图像 URL 数组的图像的主要内容,如果未能解决你的问题,请参考以下文章

如何实现自定义的icarousel效果

如何在 iOS 的 iCarousel 中显示图像全屏?

iCarousel 不显示我的图像目标 C

如何在 React 中显示来自 JSON URL 数组的图像

在 iCarousel 图像下放置标签 ios

UITableView 不显示来自 URL 的图像 [重复]