Изменение размера UIImage для портретного и ландшафтного режимов - PullRequest
2 голосов
/ 02 ноября 2010

У меня есть несколько изображений, предназначенных для портретного режима iPad.они предназначены для полного экрана, теперь, когда я поворачиваю ipad в альбомную ориентацию, я настраиваю фрейм imageview, чтобы охватить экран ipad в альбомном режиме, но это резко нарушает соотношение сторон и масштаб изображения, как я могу изменить размер изображения, сохраняя аспектСоотношение Во-вторых, у меня есть таблица с миниатюрами, эти миниатюры сохраняются пользователем (с помощью NSUserDefaults), но это заставляет мою таблицу медленно прокручиваться ... я знаю, что мы можем использовать ленивую загрузку, если я получаю изображения из Интернета ... ноЧто в этой ситуации ..

Пожалуйста, помогите .....

Ответы [ 3 ]

0 голосов
/ 02 ноября 2010

AspectFill будет поддерживать соотношение сторон и заполнять весь контейнер AspectFit будет поддерживать соотношение сторон и заполнять контейнер, пока одно измерение не достигнет границы - так что вокруг изображения будет некоторая граница.

Как вызагрузка миниатюр?Если они маленькие, вы можете либо сохранить их изображение в NSDictionary (будьте осторожны при его изменении, хотя редактируйте их!), Либо, если их много, вы можете сохранить ссылки на файлы в словаре.

0 голосов
/ 02 декабря 2010

Я, в конце концов, использовал разные изображения для портретной и альбомной версий ... и для просмотра таблицы, я использовал ленивую загрузку

0 голосов
/ 02 ноября 2010

Для первого вопроса: вам нужно установить свойство contentMode для UIImageView , которое унаследовано от UIView. По умолчанию используется UIViewContentModeScaleToFill, но я подозреваю, что вам нужен UIViewContentModeScaleAspectFit.

Для второго: загрузка снова ленивая, я боюсь. Табличные представления полностью ориентированы вокруг ячеек, выделяемых только при необходимости, и вы, вероятно, не хотите загружать изображения синхронно при создании ячеек, так как это приведет к раздражающим сбоям интерфейса пользователя. В частности, на старых устройствах и на iPod скорость диска не очень хорошая, и, сохраняя в NSUserDefaults, вы требуете дорогостоящего преобразования. Возможно, было бы быстрее поместить их в папку с документами или в кэш и сохранить имена файлов по умолчанию для пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...