Мне нужно показать изображение в фиксированном размере, например 100 * 100 px, но размер реального изображения слишком большой (например, 400 * 450), проблема в том, что я установил большое изображение в 100 * 100 px imageview, затем прокрутка производит дрожание ячеекСтолбчатая камера сотрясается при слишком большом размере изображения
ответ
Я использовал эту единственную строку кода для создания нового масштабируемого UIImage. Задайте параметры масштаба и ориентации для достижения желаемого. Первая строка кода просто захватывает изображение.
// grab the original image
UIImage *originalImage = [UIImage imageNamed:@"myImage.png"];
// scaling set to 2.0 makes the image 1/2 the size.
UIImage *scaledImage =
[UIImage imageWithCGImage:[originalImage CGImage]
scale:(originalImage.scale * 2.0)
orientation:(originalImage.imageOrientation)];
Самый простой способ установить рамку вашего UIImageView и установить contentMode одному из вариантов изменения размера.
Или вы можете использовать этот метод полезности, если вы на самом деле нужно, чтобы изменить размер изображения:
+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
// In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
// Pass 1.0 to force exact pixel size.
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Спасибо ... Я использовал ваше первое решение, и его работа почти прекрасна на всех устройствах (некоторые старые устройства все еще имеют проблемы с рывком). –
Но у меня есть путаница, ваше решение одинаково или если я использую ваш второй ответ. Это даст лучшее решение. Plz предложите мне спасибо –
первое решение масштабирует изображение, но если вам нужно изменить размер изображения, используя второй вариант – oremag14jf
его называют рывком. и, пожалуйста, покажите свой код метода cellForRow – Shubhank