2015-05-29 3 views
0

Я просто перетащил UIImageView в раскадровку и сделал ее квадратной. Я добавил розовый фон, чтобы показать эффекты оставшегося пространства в ImageView. В каждом случае я добавлял более высокое изображение (1-е изображение) и более широкое изображение (второе изображение), а также текстовую метку. Вот мои результаты.iOS Image Resizing/Dealing with Blank Space

1st image

2nd image

Так очевидный вопрос .... как я могу избавиться от этого дополнительных (розовых) пространств и сохранить целостность фотографии (то есть, не должен растянуть или потерять часть изображения)? Если бы мне захотелось прокручивать фотографии, было бы неплохо иметь их ширину до края, чтобы они выглядели аккуратно и аккуратно (если бы они были портретом), и если бы я хотел иметь текст под каждым, d хотите, чтобы текст был ближе к нему, а не имел все пустое (розовое) пространство между ними, если бы оно было ландшафтом. И, очевидно, изображения разных размеров будут иметь разные размеры пустого пространства.

Итак, я думаю, что я могу сделать, прежде чем отображать изображение, получить его размер, а затем просто назначить расстояние от метки или края экрана в зависимости от ориентации изображения и затем создавая/изменяя размер UIImageView с небольшим количеством математики и используя размеры изображения перед вставкой изображения в ImageView. Это возможно? Есть ли другой метод, который я не могу понять?

Просто посмотрите на любое приличное приложение для фотографий, и они красивы и аккуратно организованы/отображены, несмотря на разные размеры, ориентации и т. Д., И мне интересно, как это сделать. Я, очевидно, не слишком глубоко использовал изображения, просто показывая их в заранее определенном ImageView.

Спасибо за помощь/предложения!

+0

Аспект Заполнить может быть? – Raptor

+0

Я не могу представить, что именно вы хотите. На ваш взгляд, можете ли вы показать, как эти два изображения и их текст будут отображаться? – matt

+0

Raptor. Они отображаются точно так, как я ожидал. В изображении пейзажа это не так высоко, как количество пикселей, которые я создал в представлении UIImage, поэтому, когда я сделал Aspect Fit, чтобы изображение не было подвергнуто курению, было добавлено (розовое). то, что я прошу, заключается в том, что, поскольку я использовал только перетаскивание UIImageView, это вызывает для него статический размер, поэтому, если изображение не такого размера, оно имеет дополнительное дополнение, если изображение не является точным размером , и я хочу это устранить. – CodeMark22

ответ

-1

Попробуйте ... установить UIImageView в AspectFit (не AspectFill, так что теряет часть изображения) и с помощью ограничения выполните следующие действия:

  • Центре UIImageView в контейнере как горизонтально, так и вертикально
  • установить UILabel плавающего под UIImageView любого расстояния вы хотите («стандарт», как правило, хорошо)
  • установить левую, правый, и верхние ограничения на UIImageView быть> = независимо от расстояния вы хотите
  • набора нижние минусы traint на UILabel быть (еще раз)> = независимо от расстояния вы хотите

Эффект этого должен быть, что UIImageView будет правильно изменить размер себя его собственного размера и ограничения должны правильно позиционировать и метка.

+0

Хорошо, спасибо. Я использовал Aspect Fit, и это все. Моя интуиция заключается в том, что он будет делать эти ограничения, а затем поместить изображение в него, и все может быть искажено, а не то, что я хочу. Я только говорю, потому что моя предыдущая работа с автозапуском была очень ужасной на некоторое время, прежде чем я получил то, что хотел. Но я обязательно сделаю это. Благодарю. Если нет, я попытаюсь сделать hardcode некоторые вещи, которые могут быть для меня легче понятны, поскольку автозапуск для меня не является буэно. – CodeMark22