Заранее извиняюсь за недостаток знаний iOS SDK. Я разработчик для Android, которому поручено поддерживать и обновлять приложение для iPhone.
Я использую UIScrollView для управления масштабированием и перетаскиваниемизображение, которое отображается в UIImageView.
Изображение в UIImageView запрашивается с веб-сервера несколько раз в секунду.Когда ориентация устройства изменится, размеры изображения изменятся на размеры текущего кадра, например, при использовании iPad в портретном режиме размеры изображения будут 768x1024, но при переключении в альбомный режим размеры изображения будут 1024x768.Веб-сервер выполняет работу по добавлению черных полос в верхнюю / нижнюю или левую / правую часть изображения в зависимости от ориентации и соотношения сторон запрашиваемого изображения.
Моя проблема заключается в том, что после поворота устройстваUIImageView никогда не ведет себя так, как я ожидаю.Мое ожидаемое поведение заключается в том, что UIScrollView будет продолжать выполнять свои действия по прокрутке, но после поворота его базовое представление будет соответствовать новому размеру кадра.
Если я не укажу contentMode для UIScrollView, то появится изображениеСжатый, как будто ScrollView пытается отобразить изображение в предыдущих измерениях ориентаций.
Если я укажу contentMode UIViewContentModeScaleAspectFit для ScrollView и увеличу масштабирование до конца, изображение будет меньше, чем View, соотношение сторонправильно, но изображение центрировано, а высота соответствует предыдущим ориентациям.
Если я укажу contentMode для UIViewContentModeScaleAspectFill для ScrollView, все отобразится правильно, но поскольку представление фактически масштабирует изображение до нужного размераэкран, когда я выхожу из scrollView, данные масштабирования, которые я использовал, не переводятся должным образом.
Что мне нужно сделать, чтобы установить «базовый размер» UIScrollView на nкакой размер кадра при изменении ориентации устройства?Или я пропускаю свойство, которое мне нужно установить?