2016-02-19 395 views
1

我正在使用下面的一段代碼從網上下載圖像並將其添加到數組中。無法從網頁動態設置圖像到圖像視圖

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

    UIImage* myImage = [UIImage imageWithData: 
         [NSData dataWithContentsOfURL: 
         [NSURL URLWithString: @"http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/02.jpg"]]]; 

    recipePhotos = [[NSMutableArray alloc] initWithObjects:myImage, @"2.png", @"3.png", @"4.png", @"5.png", @"6.png", @"6.png", @"8.png", @"9.png", @"10.png", nil]; 
}); 

我設置到UI使用下面的代碼的圖像,

UIImageView *recipeImageView = (UIImageView *)[cell viewWithTag:100]; 
recipeImageView.image = [UIImage imageNamed:[recipePhotos objectAtIndex:indexPath.row]]; 

在運行時,圖像從網頁不會顯示下載。有什麼我失蹤的?

回答

3

你在做什麼是使用[UIImage imageNamed:] 但這將訪問陣列recipePhotos的對象和每個對象中的字符串將返回。所以你沒有這些名稱的圖像。 由於存儲在數組中的對象是圖像ü應該嘗試這種

所以嘗試做

recipeImageView.image = [recipePhotos objectAtIndex:indexPath.row]

recipeImageView.image = [UIImage imageWithData:[recipePhotos objectAtIndex:indexPath.row]

+0

僅對第一圖像其餘ü需要與imageNamed加載:因爲他們是其中U UR此項目文件存取權限的圖像。 – Shravan

1

在陣列recipePhotos僅第一索引包含適當的UIImage,因爲它包含的完整路徑是"http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/02.jpg"myImage)以及除此之外的只有字符串t的文件路徑爲http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/

recipePhotos = [[NSMutableArray alloc] initWithObjects:myImage, @"2.png", @"3.png", @"4.png", @"5.png", @"6.png", @"6.png", @"8.png", @"9.png", @"10.png", nil]; 

});

嘗試NSLog陣列recipePhotos

+0

它在數組內打印一些數字。 –

1

使用SDWebImage類動態從網頁下面的文件到你的頭文件中設置圖像的ImageView的

導入。

#import "UIImageView+WebCache.h" 

導入文件後嘗試下面的代碼。從下面的鏈接

[self.imgLogo sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[self.dictTemp valueForKey:@"camp_image"]]] placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]]; 

下載庫: -

https://github.com/rs/SDWebImage