修改原生cell.imageView.image的大小

来源:互联网 发布:电脑网络维修上门 编辑:程序博客网 时间:2024/04/30 06:16
  • 修改前如图:
    这里写图片描述

  • 修改后如图:
    这里写图片描述

  • 详情如下:
    cell.imageView.image的大小 会随着Cell的高度而变化,不同的图片显示的也不一样,在网上找了几种让image保持不变的方法,简单方便的是下面这种:

UIImage *icon = [UIImage imageNamed:@"male.png"];CGSize itemSize = CGSizeMake(30, 30);UIGraphicsBeginImageContextWithOptions(itemSize, NO ,0.0);CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);[icon drawInRect:imageRect];cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();

还有一种方法 :
重定义一个uitableviewcell,它自动生成的代码不需要动,只要在.m文件中再加上下面的代码即可:

- ( void )layoutSubviews {    [ super layoutSubviews ];    self . imageView . bounds  = CGRectMake (0,0,44,44);    self . imageView . frame  = CGRectMake (0,0,44,44);    self . imageView . contentMode  = UIViewContentModeScaleAspectFit ;    CGRect  tmpFrame =  self . textLabel . frame ;    tmpFrame. origin . x  = 46;    self . textLabel . frame  = tmpFrame;    tmpFrame =  self . detailTextLabel . frame ;    tmpFrame. origin . x  = 46;    self . detailTextLabel . frame  = tmpFrame;    }

(具体可参看:http://blog.csdn.net/zhangjie1989/article/details/7550990)

如有错误,请指正,谢谢!

0 0