Как сделать так, чтобы изображение границы соответствовало размеру изображения?
В моем приложении у меня есть 2 uiimageview.one imageview содержит изображение, которое пользователь выбирает из библиотеки фотографий или делает снимок с камеры. Режим этого изображения является аспектным, так что изображение не растягивается, если оно имеет меньший размер. Есть другое изображение, которое содержит изображение, которое является границей с этим первым изображением. Когда пользователь выбирает изображение, которое имеет аналогичный размер просмотра изображения, тогда граница является подходящим местом. но когда изображение имеет меньший размер, граница не подходит должным образом. между изображением границы и выбранной фотографией есть промежуток image.i не хочу, чтобы этот пробел. Как я могу это исправить?
1 ответ
Проблема была решена с помощью следующего кода:
-(CGRect)frameForImage:(UIImage*)image inImageViewAspectFit:(UIImageView*)imageView
{
float imageRatio = image.size.width / image.size.height;
float viewRatio = imageView.frame.size.width / imageView.frame.size.height;
if(imageRatio < viewRatio)
{
float scale = imageView.frame.size.height / image.size.height;
float width = scale * image.size.width;
float topLeftX = (imageView.frame.size.width - width) * 0.5;
return CGRectMake(topLeftX, 0, width, imageView.frame.size.height);
}
else
{
float scale = imageView.frame.size.width / image.size.width;
float height = scale * image.size.height;
float topLeftY = (imageView.frame.size.height - height) * 0.5;
return CGRectMake(0, topLeftY, imageView.frame.size.width, height);
}
}