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


​​UIImage *icon = [UIImage imageWithName:@​​​​"xxxxx"​​​​];​​


​​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();​​




另外还有其它方法没有成功:设置cell.imageView.contentMode的属性,


还有一种是网上转载的比较多的一种,由于不是自定义的cell,没用到此方法 :




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


- (void)layoutSubviews {
[superlayoutSubviews];
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;
origin.x
self.textLabel.frame

tmpFrame = self.detailTextLabel.frame;
origin.x
self.detailTextLabel.frame = tmpFrame;
}