我使用此类别并为我的 UITableView 创建大小相同的图像。有没有办法让图像也有圆角?谢谢!
+ (UIImage *)scale:(UIImage *)image toSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
编辑:然后我获取图像和其他对象信息,将其放入 NSDictionary 以进入 UITableView。我尝试更改 cellForRowAtIndexPath 中的 UIImageView.layer 属性,但似乎没有成功:
cell.TitleLabel.text = [dict objectForKey:@"Name"];
cell.CardImage.image = [dict objectForKey:@"Image"];
cell.CardImage.layer.cornerRadius = 5.0;
最佳答案
您可以在绘图操作中添加裁剪,UIBezierPath
类使这变得 super 简单。
将您的代码扩展到:
+ (UIImage *)scale:(UIImage *)image toSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
CGRect rect = CGRectMake(0, 0, size.width, size.height);
[[UIBezierPath bezierPathWithRoundeRect:rect cornerRadius:5] addClip];
[image drawInRect:rect];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
https://stackoverflow.com/questions/6832892/