因需要對UITabBarItem
的UIImage
的大小進(jìn)行調(diào)整澡匪,直接使用 UIGraphicsBeginImageContext 調(diào)整圖片大小將會導(dǎo)致圖片模糊,原來使用60px大小,后面切換成180px還是模糊薪前;
后來根據(jù)網(wǎng)友的代碼悟泵,在調(diào)整時加上屏幕的縮放倍數(shù)后達(dá)到預(yù)期,記錄代碼挑童,留用:
- (UIImage *)scaleToSize:(UIImage *)image size:(CGSize)size {
// 創(chuàng)建一個bitmap的context
// 并把它設(shè)置成為當(dāng)前正在使用的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)];
// 從當(dāng)前context中創(chuàng)建一個改變大小后的圖片
UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
// 使當(dāng)前的context出堆棧
UIGraphicsEndImageContext();
// 返回新的改變大小后的圖片
return scaledImage;
}