Я тоже столкнулся с этой проблемой.Я думаю, что вы используете iPhone 4 с Retina Display.Даже если это не так, вы должны это учитывать.Вместо UIGraphicsBeginImageContext()
используйте UIGraphicsBeginImageContextWithOptions()
и используйте свойство scale
UIScreen
для третьего аргумента.Все устройства iOS имеют свойство scale, на iPhone 4 оно установлено на 2.0;в остальном, когда я пишу это, он установлен на 1,0.
Таким образом, ваш код с этими изменениями становится
-(UIImage *)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a bitmap context.
UIGraphicsBeginImageContextWithOptions(newSize, YES, [UIScreen mainScreen].scale);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}