2009-06-20 15 views
10

Desidero caricare un'immagine su UIImageView dalla libreria dei documenti dell'app. Sto cercando di usare il seguente codice ma non funziona.caricamento di un'immagine dalla directory dei documenti in iPhone

UIImageView *background = [[[UIImageView alloc] initWithFrame:CGRectMake(3, 10, 48, 36)] autorelease]; 

[background setImage:[[UIImage imageAtPath:[[NSBundle mainBundle] pathForResource:@"Thumbnail-small" ofType:@"jpg" inDirectory:@"/Users/nbojja/Library/Application Support/iPhone Simulator/User/Applications/60C2E4EC-2FE0-4579-9F86-08CCF078216D/Documents/eb43ac64-8807-4250-8349-4b1f5ddd7d0d/9286371c-564f-40b4-99bd-a2aceb00a6d3/9"]]] retain]]; 

qualcuno può aiutarmi a fare questo. grazie ...

+1

Perché non usare imageNamed su UIImage? – Grouchal

risposta

0

Penso che quello che realmente serve è:

UIImage *img = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"myimagefile" ofType:@"png"]]; 
[self.testView.imgView setImage:img]; 
+0

Questa soluzione funziona –

-4

Usa [UIImage imageNamed:@"ThumbnailSmall.jpg"];

Ciò caricare quello che vuoi penso.

26

Se davvero desidera caricare un'immagine dalla cartella dei documenti della tua app, è possibile utilizzare questo:

NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docDirectory = [sysPaths objectAtIndex:0]; 
NSString *filePath = [NSString stringWithFormat:@"%@/Thumbnail-small.jpg", docDirectory]; 
background.image = [[[UIImage alloc] initWithContentsOfFile:filePath] autorelease]; 

Tuttavia, come sottolineato da altri qui, probabilmente avrete bisogno di caricarlo dalla tua app pacchetto, nel qual caso uno di questi funzionerà:

background.image = [UIImage imageNamed:@"Thumbnail-small.jpg"]; 

o

NSString *path = [[NSBundle mainBundle] pathForResource:@"Thumbnail-small" ofType:@"jpg"]; 
background.image = [UIImage imageWithContentsOfFile:path]; 
4
NSString *docPath = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *filePath=[NSString stringWithFormat:@"%@/image.png",docPath]; 

BOOL fileExists=[[NSFileManager defaultManager] fileExistsAtPath:filePath]; 

if (!fileExists) 
    NSLog(@"File Not Found"); 
else 
    image = [UIImage imageWithContentsOfFile:filePath]; 
0

Swift 3:

let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory 
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask 
let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true) 
if let dirPath = paths.first { 
let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent("Image2.png") 
let image = UIImage(contentsOfFile: imageURL.path) 
// Do whatever you want with the image 
} 
Problemi correlati