Как размер изображения на устройствах iOS? - PullRequest
0 голосов
/ 18 декабря 2018

Я делаю игру в спрайтекит.Я понимаю, как измерять мои изображения в SKScene, потому что это 750x1334 точек на всех устройствах, но главная страница приложения использует UIKit / контроллер представления коллекции, поэтому я не уверен, как измерить мои изображения.Я хочу, чтобы изображения занимали 1/3 ширины экрана, а затем имели высоту изображения, равную ширине изображения.

iPhone SE - 320х568 точек

iPhone 7 - 375х667 точек

iPad Pro 10,5 дюймов - 1112х834 точки

Неужели я простосделать изображения, которые составляют 1/3 от максимально возможной ширины устройства (1112 точек), а затем позволить меньшим устройствам уменьшать изображения?то есть 1112 точек, разделенных на 3, равны 370 точкам, поэтому создайте изображения с шириной и высотой 370 точек (740,6px@2x и 1112px @ 3x)?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Я хочу, чтобы изображения занимали 1/3 ширины экрана, а затем имели высоту изображения, равную ширине изображения.Я просто делаю изображения, которые составляют 1/3 от максимально возможной ширины устройства (1112 точек), а затем позволяю меньшим устройствам уменьшать изображения?

Нет.Когда вы «позволяете меньшим устройствам масштабировать изображения», вы по-прежнему загружаете полноразмерное изображение и, таким образом, тратите впустую память.Кроме того, если время выполнения автоматически уменьшит изображение (например, из-за того, что вы используете представление изображения с режимом подгонки аспекта или наполнения аспекта), это приводит к потере времени и вычислительной мощности, часто в критический момент, когда приложение пытается запустить.

Правильная процедура:

  • В вашем приложении связка , вы должны включить только один размер изображения, возможно, в триразрешений, и это должен быть наименьший размер, приемлемый для самого большого экрана, который вы будете показывать.

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

Таким образом, память не теряется;изображение, хранящееся в памяти, является отображаемым изображением.

0 голосов
/ 18 декабря 2018

В Storyboard вы можете использовать следующие шаги:

  1. Поместить равную ширину и высоту между просмотром изображения и вашим фактическим видом
  2. Выберите equal width constraint и изменитемножитель от 1 to 1:3
  3. Выберите equal height constraint и измените множитель с 1 to 1:3
  4. Теперь изображение должно занимать 1: 3 размера вашего экрана.

Скриншоты прилагаются для iPhone и iPad дизайнов,

image1 image2image3image4

Надеюсь, это поможет.

...