因需要对UITabBarItem
的UIImage
的大小进行调整,直接使用 UIGraphicsBeginImageContext 调整图片大小将会导致图片模糊,原来使用60px大小,后面切换成180px还是模糊;
后来根据网友的代码,在调整时加上屏幕的缩放倍数后达到预期,记录代码,留用:
- (UIImage *)scaleToSize:(UIImage *)image size:(CGSize)size {
// 创建一个bitmap的context
// 并把它设置成为当前正在使用的context
// Determine whether the screen is retina
/*
if([[UIScreen mainScreen] scale] == 2.0) {
UIGraphicsBeginImageContextWithOptions(size, NO, 2.0);
} else {
UIGraphicsBeginImageContext(size);
}
*/
UIGraphicsBeginImageContextWithOptions(size, NO, [[UIScreen mainScreen] scale]);
// 绘制改变大小的图片
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
// 从当前context中创建一个改变大小后的图片
UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
// 使当前的context出堆栈
UIGraphicsEndImageContext();
// 返回新的改变大小后的图片
return scaledImage;
}
网友评论