2013-03-24 2 views
1

У меня есть несколько изображений в формате png в каталоге «/ Documents/saved /». Я загрузил этот каталог в массив под названием «содержимое» Когда я использую NSLog для просмотра содержимого этого массива, я вижу изображения, а также файл .DS_STORE. . Что я хочу сделать, это загрузить все эти изображения в ячейки UICollectionView ,Загрузить изображения из подкаталога документов в UICollectionViewCell

Я попробовал это,

[[cell collectionImageView] setImage: 
     [UIImage imageWithContentsOfFile: 
       [contents objectAtIndex:indexPath.item]]]; 

collectionImageView подключен к UIImageView в UICollectionViewCell

Но это, кажется, не work.EDIT

NSString *dataPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/DImage"]; 
NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:dataPath error:NULL]; 

NSLog (@» % @ ", содержимое);

Это дает мне выход

2013-03-25 10:37:20.186 aUX[543:c07] (
".DS_Store", 
"savedImage_0.png", 
"savedImage_1.png", 
"savedImage_2.png", 
"savedImage_3.png", 
"savedImage_4.png", 
"savedImage_5.png" 
) 

(я перетащил UIImageView по имени collectionImageView.) Мне нужно, чтобы отобразить эти изображения по одному в представлении коллекции клеток.

+1

Еще немного кода поможет. Что находится в массиве 'content'? – gaige

+0

* Что * не работает? – Mundi

ответ

0

Непонятно, какие типы данных вы используете. Возможно, разбивка вашего однострочного лайнера может помочь в большей ясности в ситуации. Кроме того, таким образом вы можете проверить каждый шаг с помощью NSLog или в отладчике.

NSString *fileName = [contents objectAtIndex:indexPath.item]; 
NSString *path = [filesDirectory stringByAppendingPathComponent:fileName]; 
UIImage *image = [UIImage imageWithContentsOfFile:path]; 
UIImageView *cellImageView = cell.collectionImageView; 
cellImageView.image = image; 

Может быть, ваш contents массив содержит NSURLs, а не NSStrings. Таким образом, вы можете это выяснить.

+0

Когда я войти NSString * путь, я получаю путь .DS_Store Путь savedImage_0.png Путь savedImage_1.png Путь savedImage_2.png Путь savedImage_3.png Путь savedImage_4.png путь savedImage_5. png Я просто получаю черный экран. Может быть, это из-за файла .DS_STORE в начале? –

+0

Нет, у вас есть массив имен файлов. Вам нужны полные пути. См. Изменение в моем ответе. – Mundi

+0

Это работает! Большое спасибо ! Но только первая ячейка пуста (так как она отображает файл .DS_STORE). Какие-либо предложения ? –

-1
in ur cellForRowAtIndexPath 
cell.collectionImage.image=[contents objectAtIndex:indexPath.row]; 
return cell;