imageview如何固定宽度(例如都是320),而高度随真实图片的比例来设定

本文介绍了一种方法,通过设置ImageView的宽度为320,并根据加载的图片真实比例动态计算高度,无论是本地还是网络图片都能实现这一效果。在代码示例中,展示了如何获取图片尺寸并计算合适的高度,最后调整imageView和label的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原来如此简单,哪 怕是读取的是网络中的图片也是这样的:

static NSString *CellIdentifier = @"Cell";

        

        CHCustomDetailCell *cell = (CHCustomDetailCell *)[tableViewDemo dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil)

        {

            cell = (CHCustomDetailCell *)[[[CHCustomDetailCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

        }

        cell.cusDetailLabel.text = @"荷叶烧肉@烤肉季  限时半价";

        

        cell.cusDetailImagView.image = nil;

        GCCDetailObject *object = [[GCCategoryDetailMgr ShareInstanceSearchMgr].cdArray objectAtIndex:indexPath.row];

        NSURL *url = [NSURL URLWithString:object.cImage];

        if (cell.cusDetailImagView.image == nil) {

            cell.cusDetailImagView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];;     //这个即是读取的网络图片,本地图片就更不用说了

        }

      

        CGFloat hei = cell.cusDetailImagView.image.size.height;

        CGFloat wid = cell.cusDetailImagView.image.size.width;


        CGFloat zhenshi = (320 * hei / wid);

        cell.cusDetailImagView.frame = CGRectMake(0, 0, 320, zhenshi);

        cell.cusDetailLabel.frame = CGRectMake(0, zhenshi - 60, 320, 60);

        [cell setFrame:CGRectMake(0, 0, 320, zhenshi)];

        

        return cell;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值