2015-07-06 5 views
1

Я хочу, чтобы UIImageView расширялся в зависимости от высоты и ширины фактического изображения. В частности, я беру высоту и ширину изображения, а затем разделяю их на ([большее значение]/300), так что соотношение сторон сохраняется и изображение оптимизировано для размещения в пространстве, которое я разработал для него (ширина, которая равна никогда не меньше 320, а высота - ровно 320). В коде я даю UIImageView новую высоту и ширину, которые я приобрел из этой процедуры. Все это работает точно так же, как я предполагаю, когда это просматривается в iPhone Simulator. Однако Xcode дает мне предупреждения о моих ограничениях для UIImageView, говоря, что «позиция и размер» неоднозначны. Каков правильный способ устранения этих предупреждений?Xcode 6.3.2 - iOS - Неоднозначный UIImageView

Вот ViewController:

http://i.imgur.com/cVWmVET.png

А вот ограничения у меня есть для UIImageView в середине:

http://i.imgur.com/4orUyeh.png

ответ

1

Для поддержания соотношения сторон и показывает изображение, вам не нужно выполнять ручные вычисления. Просто установите следующее свойство UIImageView и присвоить изображение к нему

yourimageView.contentMode = UIViewContentModeScaleAspectFit; 

Для поддержания UIImageView в центре экрана, используйте следующие autolayout ограничения

  • Constant Высота
  • Моноширинный
  • Горизонтальные Центр в контейнере
  • Вертикальный центр в контейнере
+0

А это прекрасно работает! Спасибо. – Infamous911

0

Если вы намерены расширить свое изображение, то вам нужно будет присвоить свойства Image Hugging больше значений, По умолчанию его 250, его горизонтальное и вертикальное значение равны 751, а 750 - значение по умолчанию для сжатия содержимого , поэтому у вас должно быть больше, чем это. Скажите, если это сработает.

+0

Это, похоже, не избавляет от предупреждений. – Infamous911

+0

ограничения - верхние и нижние верхние и нижние, задают значение меньше или равно. так как вы хотите, чтобы ваше изображение увеличилось больше, чем размер, который вы дали ему в nib или раскадровке. –

Смежные вопросы