Есть ли встроенный способ, чтобы мой UIImageView соответствовал всему содержимому UIImage? Я что-то пропустил?
У меня есть modalView, который я представляю с UIModalPresentationPageSheet
стиль, и у этого представления есть scrollView и mageView внутри этого scrollView, чтобы он мог показывать изображения и позволять пользователю манипулировать, например, масштабированием и т. д.
В viewDidLoad я так все настраиваю:
CGRect imgFrame = CGRectMake(0, 0, img.size.width, img.size.height);
imageView.frame = imgFrame;
[imageView setImage:img];
Это прекрасно работает, но проблема у меня заключается в том, что если у меня есть изображение, которое больше, чем несколько маленький размер modalView в ландшафтном режиме (из-за стиля UIModalPresentationPageSheet), оно не масштабируется и не масштабируется, поэтому я могу увидеть все это, он просто показывает мне 2/3 изображения, и для того, чтобы увидеть больше, мне нужно уменьшить масштаб.
Я установил для contentMode UIViewContentModeScaleAspectFit
и это все равно ничего не изменило.
Я что-то пропустил?
1 ответ
Установите рамку вида изображения, чтобы иметь максимальную ширину и высоту размеров экрана в зависимости от текущей ориентации.
Что-то вроде:
CGRect imgFrame = CGRectMake(0, 0, min(320 ,img.size.width), min(480, img.size.height);
Это применимо к портретному режиму на iPhone (отличается для iPad). Вам придется сбросить этот кадр при изменении ориентации.