修改前如图:
修改后如图:
详情如下:
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)
如有错误,请指正,谢谢!