Iphone: Como exibir imagens do Diretório de Documentos no Modo de Exibição de Imagem?

Em um aplicativo imagens armazenadas na pasta do diretório de documentos,

Eu queria exibição de imagem em particular no modo de exibição de imagem,

Como essa imagem é exibida no modo de exibição de imagem do diretório de documentos?

Código de amostra:

 - (NSString *)applicationDocumentsDirectory { return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; } -(void)loadimage{ NSString *workSpacePath=[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"your image-name"]; UIImageView *myimage=[UIImageView alloc] initWithFrame:CGRectMake(0,0,20,20)]; myimage.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]]; [self.view addSubView:myimage]; [myimage release]; } 

TNQ

Você pode consegui-lo. Sabendo os nomes das suas imagens , enquanto estiver armazenando sua imagem, você precisa armazenar algumas informações dessas imagens no database (ou algumas onde você pode usá-las) e buscar o nome da imagem da fonte de dados. e trabalhe da seguinte maneira:

 NSString *str = [NSString stringWithFormat:@"%@.jpg",[myGlobleArrayOfImageNames objectAtIndex:imageCounter]]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *fullImgNm=[documentsDirectory stringByAppendingPathComponent:[NSString stringWithString:str]]; [mainSlideShowImageView setImage:[UIImage imageWithContentsOfFile:fullImgNm]]; 

Aqui você pode pegar o UIImageView na sua View e adicioná-lo à view e fazer o mesmo da seguinte maneira:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *imageFilePath; NSError *err; imageFilePath = [documentsDirectory stringByAppendingPathComponent:@"image1.png"]; UIImageView *objImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)]; objImageView.image = [UIImage imageWithContentsOfFile: imageFilePath]; [self.view addSubVIew:objImageView.image]; [objImageView release]; 

Por favor, deixe-me saber se você ainda precisa de alguma ajuda.

 NSArray *directoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *imagePath = [directoryPath objectAtIndex:0]; imagePath= [imagePath stringByAppendingPathComponent:@"imagename.png"]; NSData *data = [NSData dataWithContentsOfFile:imagePath]; UIImage *img = = [UIImage imageWithData:data]; 

você pode exibir esta imagem para uiimageview

você precisa seguir as linhas de código para obter o UIImage do diretório de documentos

 -(UIImage*)getImage:(NSString *)strImageName { NSString *documentDirectory=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSString *imagePath=[documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@",strImageName]]; UIImage *image=[UIImage imageWithContentsOfFile:imagePath]; return image; } 

Chame a function acima e use o object UIImage para definir onde você quiser. Você também pode escrever este método em uma class comum para usá-lo em qualquer lugar.

Somando-se a essas respostas acho boa prática verificar se o arquivo existe assim …

 NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *file = [directory stringByAppendingPathComponent@"my_image.jpg"]; if ([[NSFileManager defaultManager] fileExistsAtPath:file]) { self.myimageview = [UIImage imageWithData:[NSData dataWithContentsOfFile: file]]; } 

Simples Use este Código

 NSFileManager *filemgr =[NSFileManager defaultManager]; NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *docsDir = [dirPaths objectAtIndex:0]; NSString *dataPath = [docsDir stringByAppendingPathComponent:@"/yourdirectory/image.jpg"]; NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL fileURLWithPath:dataPath]]; self.imageview.image = [[UIImage alloc] initWithData:imgData];