問(wèn)題描述
首先我從照片庫(kù)中選擇圖像到 ALAsset 庫(kù),然后我將圖像從 ALAsset 庫(kù)路徑存儲(chǔ)在文檔目錄中.
First i selected images from photo library to ALAsset Library and after that i stored images in document directory from ALAsset library path.
我正在使用此代碼將圖像存儲(chǔ)在 ALAsset 庫(kù)中的文檔目錄中......它的工作完美......現(xiàn)在我想在表格視圖中顯示存儲(chǔ)在文檔目錄中的所有圖像......我該怎么做???誰(shuí)能幫幫我??
i am using this code to store images in document directory from ALAsset Library.... Its working perfect... Now i want to display all images which are stored in document directory in table view.. how can i do this??? can anybody help me??
將圖像從 ALAsset 庫(kù)導(dǎo)入到 NSdocument 目錄的代碼
for (int j=0; j<[assetArray count]; j++) {
ALAssetRepresentation *representation = [[assetArray objectAtIndex:j] defaultRepresentation];
NSString* filename = [documentPath stringByAppendingPathComponent:[representation filename]];
[[NSFileManager defaultManager] createFileAtPath:filename contents:nil attributes:nil];
NSOutputStream *outPutStream = [NSOutputStream outputStreamToFileAtPath:filename append:YES];
[outPutStream open];
long long offset = 0;
long long bytesRead = 0;
NSError *error;
uint8_t * buffer = malloc(131072);
while (offset<[representation size] && [outPutStream hasSpaceAvailable]) {
bytesRead = [representation getBytes:buffer fromOffset:offset length:131072 error:&error];
[outPutStream write:buffer maxLength:bytesRead];
offset = offset+bytesRead;
}
[outPutStream close];
free(buffer);
}
之后我使用此代碼獲取目錄的內(nèi)容:
After that i got the contents of directory using this code:
NSFileManager *manager = [NSFileManager defaultManager];
fileList = [manager directoryContentsAtPath:newDir];
它也可以工作...但是現(xiàn)在當(dāng)我想顯示文檔目錄中的圖像時(shí).它沒(méi)有顯示任何東西......
Its also working... but now when i want to display images from document directory. It doesn't show anything....
setImage.image=[UIImage imageNamed:[filePathsArray objectAtIndex:0]];
誰(shuí)能幫忙,問(wèn)題出在哪里??????- 我有一個(gè)疑問(wèn):*將圖像從ALAsset庫(kù)導(dǎo)入到文檔目錄是否正確???
Can anybody help, where is the problem????? - I have one doubt: *Is it the right way to import images from ALAsset Library to document directory???
推薦答案
這個(gè)答案是關(guān)于如何從文檔目錄中檢索圖像并將它們顯示到 UITableView.....
首先,您必須將文檔目錄中的所有圖像保存到一個(gè)數(shù)組中......
first of all you have to get all images from your documents directory to an array....
-(void)viewWillAppear:(BOOL)animated
{
arrayOfImages = [[NSMutableArray alloc]init];
NSError *error = nil;
NSString *stringPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath: stringPath ?error:&error];
for(int i=0;i<[filePathsArray count];i++)
{
NSString *strFilePath = [filePathsArray objectAtIndex:i];
if ([[strFilePath pathExtension] isEqualToString:@"jpg"] || [[strFilePath pathExtension] isEqualToString:@"png"] || [[strFilePath pathExtension] isEqualToString:@"PNG"])
{
NSString *imagePath = [[stringPath stringByAppendingString:@"/"] stringByAppendingString:strFilePath];
NSData *data = [NSData dataWithContentsOfFile:imagePath];
if(data)
{
UIImage *image = [UIImage imageWithData:data];
[arrayOfImages addObject:image];
}
}
}
}
之后 - 使用此數(shù)組,您可以在 uitableview 單元格中顯示圖像記住不要在你的視圖上添加表格視圖,直到你的數(shù)組被填滿.....
after that - using this array you can show the image in uitableview cell remember dont add the table view on your view untill your array is fill.....
#pragma mark - UItableViewDelegate methods
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [arrayOfImages count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tablView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
//adjust your imageview frame according to you
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0.0, 0.0, 470.0, 80.0)];
[imageView setImage:[arrayOfImages objectAtIndex:indexPath.row]];
[cell.contentView addSubview:imageView];
return cell;
}
現(xiàn)在運(yùn)行它會(huì)工作..
這篇關(guān)于如何顯示 NSDocument 目錄中的所有圖像的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!