0

URLと一緒にパラメータとしてidを送信できる必要があります。次に、プログラムは画像を非同期でダウンロードし、uitableviewセルに画像を表示する必要があります。どうすればこれを達成できますか?これが私がこれまでに持っているものです:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"lisn"];

        cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"lisn"] autorelease];


    [[cell textLabel] setFont:[UIFont systemFontOfSize:14.0]];
    switch([indexPath section]){
        case 0:
            cell.textLabel.text=[arryList objectAtIndex:indexPath.row];
            CGRect memberFrame=CGRectMake(240,18,10,30);
            UILabel *members=[[[UILabel alloc] initWithFrame:memberFrame ] autorelease];
            members.text=[arryList objectAtIndex:indexPath.row + 3];
            [cell.contentView addSubview:members];

            break;
        case 1:

            cell.textLabel.text=@"Start date:";
            CGRect dateFrame=CGRectMake(80,6,180,20);
            UILabel *sDate=[[[UILabel alloc] initWithFrame:dateFrame] autorelease];
            sDate.text=[arryList objectAtIndex:indexPath.row + 1 ];
            [cell.contentView addSubview:sDate];
            cell.detailTextLabel.text=@"End date:";
            CGRect enddateFrame=CGRectMake(80,22,180,50);
        UILabel *eDate=[[[UILabel alloc] initWithFrame:enddateFrame] autorelease];
            eDate.text=[arryList objectAtIndex:indexPath.row + 2];
            [cell.contentView addSubview:eDate];

            break;
        case 2:
            cell.textLabel.text=[arryList objectAtIndex:indexPath.row + 4];

            break;
        case 3:
            cell.imageView.image = [UIImage imageNamed:@"ic_place_holder_small.png"];
            break;
        break;
    }

    return cell;
}
4

1 に答える 1

0

これは私が同様の問題に使用したものです:(サムネイルはセルにロードされる画像です)

static NSString *CellIdentifier = @"FlickrPhotoCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

OFPhotoModel *photo = [self.photos objectAtIndex:indexPath.row];

cell.textLabel.text = photo.title;
if (photo.thumbnail)
    cell.imageView.image = photo.thumbnail;
else {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
        if (!photo.thumbnail) {
            photo.thumbnail = [OFManager thumbnailForPhoto:photo];
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
            });
        }
    });

    cell.imageView.image = [UIImage imageNamed:@"placeholder.png"];
}

return cell;

この実装は、次の 2 つの場合を除いて機能することを考慮してください。オブジェクトの)

于 2012-04-20T10:26:01.940 に答える