2013-12-02 5 views
0

В моем приложении содержится корневой контроллер навигации, который связан с контроллером табличного представления с пользовательскими ячейками. Я мог бы заставить это работать, чтобы загрузить значения из plist в метки, но это не работает для изображений. Спасибо за предложения.iOS Как загружать изображения в ячейки контроллера табличного представления

cell.chapterImage.image = [[ContentArray objectAtIndex:indexPath.row] objectForKey:@"ic_menu"]; 

cell.Chapter.text = [[ContentArray objectAtIndex:indexPath.row] objectForKey:@"name"]; 

PLIST:

<plist version="1.0"> 
<array> 
<dict> 
    <key>nat_num</key> 
    <string>1</string> 
    <key>name</key> 
    <string>Sample String</string> 
    <key>ic_menu</key> 
    <string>[email protected]</string> 
</dict> 
... 

ответ

1

Загрузка изображений в виде таблицы ячейки ничем не отличается от загрузки изображений в любом другом месте.

cell.chapterImage.image = [UIImage imageNamed: 
    [[ContentArray objectAtIndex:indexPath.row] objectForKey:@"ic_menu"]]; 

Что вы пытались сделать, это поместить строковое значение в изображение. Это работало для cell.Chapter.text, потому что cell.Chapter.text ожидает, что ему будет назначена строка. Между тем, cell.chapterImage.image ожидает, что ему будет присвоено изображение, поэтому мы должны использовать [UIImage imageNamed:], который является заводским методом для UIImage, который возвращает объект изображения, связанный с именем файла, которое вы указываете с помощью строкового аргумента.

+0

I использовали ваш код и не видят никаких изображений. что еще может быть неправильно? – jay

+0

Вы включили эти изображения в свой проект в XCode? – nhgrif

+0

Попробуйте заменить [email protected] с main1.png удалить @ 2x от имени изображения plist. – Greg

1

Вы можете получить изображение с этим кодом:

cell.chapterImage.image = [UIImage imageNamed:[[ContentArray objectAtIndex:indexPath.row] objectForKey:@"ic_menu"]]; 
+0

спасибо, но все же изображения не отображаются. есть идеи? – jay

1

Вы уверены, что вы добавляете вид изображения на ciew клетки, а? Чтобы быть уверенными, пожалуйста, проверьте, что некоторые формы в следующем фрагменте есть в вашем коде:

cell.chapterImage.image = [UIImage imageNamed:[[ContentArray objectAtIndex:indexPath.row] objectForKey:@"ic_menu"]]; 
[cell addSubview:cell.chapterImage]; 

Кроме того, попытайтесь изменить размеры и расположение изображения внутри таблицы представления делегата willDisplayCell:

- (void)tableView:(UITableView *)tableView willDisplayCell:(LWLibraryListCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    cell.chapterImage.frame = CGRectMake(0, 0, 20, 20); 
} 
+0

Я раньше не использовал код addSubview, но результат тот же. Я попробую другой вариант, который вы упомянули позже, спасибо – jay

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

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