問題描述
首先我從照片庫中選擇圖像到 ALAsset 庫,然后我將圖像從 ALAsset 庫路徑存儲在文檔目錄中.
First i selected images from photo library to ALAsset Library and after that i stored images in document directory from ALAsset library path.
我正在使用此代碼將圖像存儲在 ALAsset 庫中的文檔目錄中......它的工作完美......現在我想在表格視圖中顯示存儲在文檔目錄中的所有圖像......我該怎么做???誰能幫幫我??
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 庫導入到 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);
}
之后我使用此代碼獲取目錄的內容:
After that i got the contents of directory using this code:
NSFileManager *manager = [NSFileManager defaultManager];
fileList = [manager directoryContentsAtPath:newDir];
它也可以工作...但是現在當我想顯示文檔目錄中的圖像時.它沒有顯示任何東西......
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]];
誰能幫忙,問題出在哪里??????- 我有一個疑問:*將圖像從ALAsset庫導入到文檔目錄是否正確???
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???
推薦答案
這個答案是關于如何從文檔目錄中檢索圖像并將它們顯示到 UITableView.....
首先,您必須將文檔目錄中的所有圖像保存到一個數組中......
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];
}
}
}
}
之后 - 使用此數組,您可以在 uitableview 單元格中顯示圖像記住不要在你的視圖上添加表格視圖,直到你的數組被填滿.....
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;
}
現在運行它會工作..
這篇關于如何顯示 NSDocument 目錄中的所有圖像的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!