У меня есть UIScrollview, который пользователи могут увеличивать.Изображения очень большие (3 МБ +), поэтому сначала я загружаю версию с низким разрешением, а затем загружаю большую версию после завершения загрузки.
Без проблем, если только пользователь не увеличил масштаб.
Как сохранить точное увеличение при замене изображения с низким разрешением изображением с высоким разрешением?Я просто хочу, чтобы пользователь видел изображение более четким, но не изменил то, на что он смотрит.
Некоторые примеры размеров для руководства:
- Изображение низкого разрешения: (222 200)со стандартным увеличением уровня (при двойном нажатии): 4,55 ...
- Изображение с высоким разрешением: (1184,1067) со стандартным увеличением уровня: 0,854 ...
- Обзор UIScrollСам по себе полноэкранный режим с AspectFit (414.0,672.0)
Вот пример кода, где я делаю похожую вещь.Пользователи также могут регулировать яркость изображения.В этом случае я заменяю изображение с точно такими же размерами, чтобы этот код работал, но не при изменении размеров.
// Get the frame & zoom scale of image before replacing it
let tempZoomScale = pageImageViews[pageToUse].zoomScale
let tempFrame = pageImageViews[pageToUse].contentOffset
// Replace the image with the newly formatted one
pageImageViews[pageToUse].display(image: imageToUse)
// Set the same zoom position as it was before we swapped the image
if (maintainZoomPosition == true) {
pageImageViews[pageToUse].zoomScale = tempZoomScale
pageImageViews[pageToUse].contentOffset = tempFrame
}
Любые предложения приветствуются!
Спасибо