Добавить изображения в ячейки таблицы в разделах - PullRequest
0 голосов
/ 08 апреля 2011

Я хочу отобразить изображение помимо текста в ячейке таблицы.у меня есть 2 раздела, общие и назначения.Теперь я хочу отображать только изображение рядом с назначениями и нет изображения, кроме общего раздела.приведенный ниже код отображает изображения для раздела «Назначения», а затем снова повторяет изображения для раздела «Общие».Кто-нибудь может мне помочь, как выполнить это.

// Реализация viewDidLoad для дополнительной настройки после загрузки представления, как правило, из кончика.- (void) viewDidLoad {

    staffImages = [[NSMutableArray alloc] init];

    NSArray *arrTemp1 = [[NSArray alloc] initWithObjects:@"TRANSPORTATION",@"ROOMS",@"ACTIVITIES",nil];
    NSArray *arrTemp2 = [[NSArray alloc] initWithObjects:@"CHAT",@"SEARCH",@"CALL",@"MORE",nil];

    NSDictionary *temp =[[NSDictionary alloc] initWithObjectsAndKeys:arrTemp1,@"Assignments",arrTemp2,
                                                                                   @"General",nil];

    //Add item images
    [staffImages addObject:@"transportation.png"];
    [staffImages addObject:@"hotel.png"];
    [staffImages addObject:@"activities.png"];


    //Set the title
    self.navigationItem.title = @"STAFF ASSIGNMENTS";
    self.tableContents=temp;
    [temp release];

    self.sortedKeys =[self.tableContents allKeys];
    [arrTemp1 release];
    [arrTemp2 release];

    [super viewDidLoad];
}


- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";

    NSArray *listData =[self.tableContents objectForKey:[self.sortedKeys objectAtIndex:[indexPath section]]];

    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
    if(cell == nil) {
        cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault
                         reuseIdentifier:SimpleTableIdentifier] autorelease];

        }
    NSUInteger row = [indexPath row];
    cell.textLabel.text = [listData objectAtIndex:row];

    cell.imageView.image = [UIImage imageNamed:[staffImages objectAtIndex:indexPath.row]];

    return cell;
    }

Ответы [ 3 ]

1 голос
/ 30 октября 2012
NSMutableData *data=[NSMutableData dataWithContentsOfURL:[NSURL URLWithString:[NSMutableString stringWithFormat:@"%@",[[dataArray objectAtIndex:indexPath.row]objectForKey:@"LINK"]]]];

//NSLog(@"%@",data);

UIImage *img=[UIImage imageWithData:data];

cell.imageView.image=img;

это лучший способ

0 голосов
/ 08 апреля 2011

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

//You do not need to actually define this value
//this is just for naming purposes
#define SECTION_ASSIGNMENTS 0

...

- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";

    NSArray *listData =[self.tableContents objectForKey:[self.sortedKeys objectAtIndex:[indexPath section]]];

    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
    if(cell == nil) {
        cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault
                         reuseIdentifier:SimpleTableIdentifier] autorelease];

        }
    NSUInteger row = [indexPath row];
    cell.textLabel.text = [listData objectAtIndex:row];
    if(indexPath.section == SECTION_ASSIGNMENTS)
    {
        cell.imageView.image = [UIImage imageNamed:[staffImages objectAtIndex:indexPath.row]];
    }
    return cell;
}
0 голосов
/ 08 апреля 2011

Предполагая, что общим разделом является раздел 0 (то есть первый раздел)

   if (indexPath.section == 1) {
    cell.imageView.image = [UIImage imageNamed:[staffImages objectAtIndex:indexPath.row]];

   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...