Как изменить размер JPG в UIImageView? - PullRequest
0 голосов
/ 11 января 2012

Я загрузил JPG в UIImageView.Изображение увеличено до экрана iPhone.Как я могу изменить его размер для конкретного кадра CGRect?

UIImageView *uivSplash = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"iPhone-Splash.jpg"]];
[self.view addSubview:uivSplash];

Ответы [ 2 ]

1 голос
/ 11 января 2012

Вам понадобится метод, подобный следующему:

CGFloat newWidth    = whateverYourDesiredWidth; // someView.size.width for example
CGFloat newHeight   = whateverYourDesiredHeight; // someView.size.height for example

CGSize newSize      = CGSizeMake(newWidth, newHeight);

UIGraphicsBeginImageContext(newSize);

[yourLargeImage drawInRect:CGRectMake(0, 0, newWidth, newHeight)];
UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();


return newImage;

Итак, мы получаем желаемую ширину и высоту (может быть, размер экрана, может быть размер в жестком коде, может быть размер, основанный на UIView) и перерисовываем изображение в контексте такого размера.

~ Удачи

РЕДАКТИРОВАТЬ: мне кажется, я неправильно понял ваше желание, поэтому я также укажу (как уже говорили), что UIImageView имеет свойства для своего изображения, которые позволяют вам подогнать его под размер, масштабировать, заполнить, сохранить аспект соотношение и т. д.

1 голос
/ 11 января 2012

A UIImageView - это просто UIView, поэтому вы можете изменить его frame свойство.

uivSplash.frame = CGRectMake(0, 0, width, height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...