2012-06-01 4 views
2

Я пытаюсь показать различные изображения из Plist файла в UIImageView, я написал мой код так:IOS: Загрузка изображений из Plist файла

NSDictionary *picturesDictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Photos" ofType:@"plist"]];  
    imageArray = [picturesDictionary objectForKey:@"PhotosArray"]; 
    PhotosInAlbum.image = [UIImage imageWithContentsOfFile:[imageArray objectAtIndex:1]]; 

Но на самом деле ничего не происходит, и мой ImageView пуст! также у меня есть две кнопки для пересылки обратных изображений.

Содержание Plist: enter image description here

+0

Может ли показать содержимое .plist? – samfisher

+0

@samfisher проверить мой отредактированный вопрос –

+0

'[PhotoInAlbum release];' .. но где же 'alloc'? – Kjuly

ответ

2

PLIST неверен, он должен быть

Root ---- Dictionary 
    PhotosArray ----- Array 
     Item 0 ------ String -- Beach.jpg 

Затем добавьте этот код в ваш ViewController .. Убедитесь, что ImageView Интерфейс ссылку на IBOutlet.

NSDictionary *picturesDictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Photos" ofType:@"plist"]];  
NSArray *imageArray = [picturesDictionary objectForKey:@"PhotosArray"]; 
PhotosInAlbum.image = [UIImage imageNamed:[imageArray objectAtIndex:0]]; 
+0

благодарим вас сделано ....! –

1

Попробуйте использовать это:

PhotosInAlbum.image = [UIImage imageNamed:[imageArray objectAtIndex:1]]; 

Ваш [imageArray objectAtIndex:1] будет возвращать только имя изображения не его путь, поэтому для того, чтобы использовать imageWithContentsOfFile вы должны указать путь к вашей изображение не только изображение имя.

1
PhotosInAlbum.image = [UIImage imageWithContentsOfFile:[imageArray objectAtIndex:1]]; 

эта часть должна быть, как это

PhotosInAlbum.image = [UIImage imageNamed:[imageArray objectAtIndex:1]]; 
+0

такой же результат! Я ничего не показываю в UIImageView –

+0

@Mc.Любитель, ты выделил PhotosInAlbum? – Umgre

0

imageWithContentsOfFile: использовать путь, который является полным или частичным путем к файлу. Вместо этого вы можете использовать метод imageNamed: (который использует имя файла). Просто замените

[UIImage imageWithContentsOfFile:[imageArray objectAtIndex:1]]; 

в

[UIImage imageNamed:[imageArray objectAtIndex:1]]; 
+0

такой же результат! Я ничего не показываю в UIImageView –

+1

Проверьте, были ли вы включены эти изображения в свой проект или нет? –

+0

Не могли бы вы просмотреть мой отредактированный вопрос? –

0

первоначально, [UIImage imageNamed:[imageArray objectAtIndex:1]]; бы решить проблему ур. Но вы не в состоянии решить эту проблему таким образом, который выглядит как проблема, кажется, с этой линией

[controller.view addSubview:PhotosInAlbum]; 

это может быть в случае ваш контроллер. вид ничто в момент, когда вы пытаетесь добавить ur imageview.

просто убедитесь, что это не так. cos, если это тогда, ваш PhotoInAlbum совсем не добавляется как subview к controller.view.

Смежные вопросы