很多时候,uitabeleviewcell自身的功能已经满足我们项目中很多cell的需要,因此我们不需要自定义一个cell增加不必要的麻烦,但是随着ios7之后,很多程序的主流图片都是圆形,今天我们就来看一看如何不用自定义cell就能更改cell左边图片大小。
首先我们需要建立一个继承uitableviewcontroller的控制器,在返回cell那个方法里实现如下代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *dentifier=@"cellforappliancelist";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:dentifier];
if (cell==nil) {
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:dentifier];
// cell.accessoryType=UITableViewCellStyleSubtitle;
}
cell.textLabel.text=@"配电室办公用电2楼照明";
cell.textLabel.font=[UIFont systemFontOfSize:15];
cell.detailTextLabel.text=@"[在线]";
cell.imageView.image=[UIImage imageNamed:@"暂代头像"];
cell.detailTextLabel.font=[UIFont systemFontOfSize:13];
//暂时加入一个label,后期用代码或者xib来自定义cell,用来优化cell的内存
UILabel *label=[[UILabel alloc]init];
label.text=@"优";
label.font=[UIFont systemFontOfSize:12];
label.textColor=[UIColor grayColor];
[label sizeToFit];
label.frame=CGRectMake(SCREEN_WIDTH - label.frame.size.width-15, 7, label.frame.size.width, label.frame.size.height);
[cell.contentView addSubview:label];
//设置cell.imageview的宽高
CGSize itemSize = CGSizeMake(35, 35);
UIGraphicsBeginImageContext(itemSize);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[cell.imageView.image drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return cell;
}
看一下显示效果吧