2011-07-13 13 views
21

Jak wyświetlić obraz z komponentu UIImageView z dysku twardego?Wyświetlenie lokalnego obrazu w UIImageView

Mam lokalny folder o nazwie "images" i chciałbym uzyskać do niego dostęp przez względną ścieżkę , ponieważ chcę spakować obrazy za pomocą aplikacji.

Odpowiedz

52

Aby załadować zdjęcie gdzieś od wykorzystania napędu:

UIImage * myImage = [UIImage imageWithContentsOfFile: @"../images/1.png"]; 

Albo dodać zdjęcie do projektu Xcode i zastosowanie:

UIImage * myImage = [UIImage imageNamed: @"1.png"]; 

Po tym dd obraz do ImageView:

UIImageView * myImageView = [[UIImageView alloc] initWithImage: myImage]; 
+2

Skoro chcesz go spakować z aplikacją, powinieneś użyć tutaj dwóch ostatnich wierszy kodu, a nie najwyższego. Należy również przeciągnąć ten obraz z dysku twardego do folderu w projekcie, takiego jak folder Zasoby. – tazboy

10

Nie musisz podawać żadnej ścieżki, dopóki obraz znajduje się w folderze zasobów.

Możesz wyświetlić ten obraz w obrazie, używając tego.

yourImageView.image = [UIImage imageNamed:@"something.png"]; 
+0

Nie uważasz, że musisz wstawić rozszerzenie za pomocą tej metody? – zonabi

1
UIImage *img = [UIImage imageWithContentsOfFile:(the file path)]; 
UIImageView *imgView = [[UIImageView alloc] initWithImage:img]; 

sprawdzić docs dla imageWithContentsOfFile:

0

Co masz na myśli przez obrazy w twardej drive.Are mówisz, że Ty zachowałeś swoje obrazy w wiązce w iPhone app.If więc wtedy można zrobić tablicę tych obrazów, jak to ...

NSMutableArray *imageArray; 
imageArray=[[NSMutableArray alloc]initWithObjects:@"001.jpg",@"002.jpg",@"003.jpg",@"004.jpg",nil]; 

A następnie może uzyskać dostęp do obrazów za pomocą tej tablicy;

Lub jeśli po prostu chcesz pokazać pojedynczy obraz z wiązki można zrobić w ten sposób

UIImageView *creditCardImageView=[[UIImageView alloc]initWithFrame:CGRectMake(10, 16, 302, 77)]; 
    creditCardImageView.image=[UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"CreditCard_2RowTable" ofType:@"png"]]; 
    [self.view addSubview:creditCardImageView]; 

to pomoże.