У меня есть UIScrollView, содержащий UIImageView, и у меня есть некоторые проблемы, чтобы получить правильное поведение, когда iPhone вращается.Масштабировать изображение, чтобы он соответствовал экрану на iPhone вращения
Цель: Я пытаюсь получить следующее при переходе от портрета до пейзажа:
_________
|AAAAAAA|
|BBBBBBB| _________________
|CCCCCCC| | AAAAAA |
|DDDDDDD| --> | CCCCCC |
|EEEEEEE| | EEEEEE |
|FFFFFFF| |_____GGGGGG_____|
|GGGGGGG|
---------
Здесь все изображение в портретном масштабируется в альбомной ориентации, когда iPhone вращается. Он также сосредоточен. Я также пытаюсь сохранить соотношение сторон. Взаимодействие с пользователем также включено, и пользователь должен иметь возможность использовать весь экран для панорамирования/масштабирования изображения.
В настоящее время я следующее autoresizingMask
на Scrollview:
scrollView.autoresizingMask =(UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
Но это дает следующую
_________
|AAAAAAA|
|BBBBBBB| _________________
|CCCCCCC| |AAAAAA |
|DDDDDDD| --> [BBBBBB |
|EEEEEEE| [CCCCCC |
|FFFFFFF| [DDDDDD__________|
|GGGGGGG|
---------
Этот параметр сохраняет масштаб и смещение от левого верхнего угла.
Вопрос: Можно ли получить это поведение, используя подходящий autoresizingMask
? Если нет, то один, вероятно, следует установить
scrollView.autoresizingMask = UIViewAutoresizingNone;
и вручную установить zoomScale
и contentOffset
для UIScrollView на вращение. Но где это должно быть сделано? Как насчет оживления этих изменений?
Решение: По слегка изменив ответ ниже я выше поведение, используя код ниже:
imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
scrollView.autoresizingMask =(UIViewAutoresizingFlexibleWidth
| UIViewAutoresizingFlexibleHeight);
imageView.contentMode = UIViewContentModeScaleAspectFit;
scrollView.contentMode = UIViewContentModeCenter;
Спасибо! Это было быстро. Чтобы получить правильное поведение, мне пришлось слегка изменить наш код (см. Выше), но это поставило меня в прямом направлении. – user467225
Не работает вообще –