0

テーブルビュー(リストビュー)を使用しています。セルに画像を表示しています。画像は表示されていますが、同じサイズではなく、すべて異なるサイズです。同じ高さと幅のすべての画像が必要です。誰かが私にそのためのコードを教えてもらえますか?Tnx ..

4

3 に答える 3

0

cellForRowAtIndexPath:以下のような方法でフレーム付きの画像を追加するだけです。UIImageView代わりに使用することもできますAsynchImageView

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

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

    if (cell == nil) {
        cell = [[[UITableViewCell alloc]
              initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]
              autorelease];
    } else {
    AsyncImageView* oldImage = (AsyncImageView*)
             [cell.contentView viewWithTag:999];
    [oldImage removeFromSuperview];
    }

    CGRect frame;
    frame.size.width=75; frame.size.height=75;
    frame.origin.x=0; frame.origin.y=0;
    AsyncImageView* asyncImage = [[[AsyncImageView alloc]
               initWithFrame:frame] autorelease];
    asyncImage.tag = 999;
    NSURL* url = [imageDownload
               thumbnailURLAtIndex:indexPath.row];
    [asyncImage loadImageFromURL:url];

    [cell.contentView addSubview:asyncImage];

    return cell;
}

要件については、このデモも参照してください

これがお役に立てば幸いです...

于 2012-11-26T11:03:26.950 に答える
0

こうやって、

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    cell=nil;
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        CGRect imageFrame = CGRectMake(2, 8, 40, 40);
        UIImage *img = [[[UIImage alloc] initWithData:data] autorelease];
        UIImageView *customImage = [[[UIImageView alloc] initWithFrame:imageFrame] autorelease];
        customImage.image=img;
        [cell.contentView addSubview:customImage];
    }
    return cell;
}
于 2012-11-26T11:04:00.983 に答える
0

テーブルビューのデータソース メソッド-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathで、画像ビューのフレームを提供します cell.imageView.frame

于 2012-11-26T11:04:07.613 に答える