2013-10-11 3 views
1

Я пытаюсь установить UIImageView не имеет фиксированного размера и ширины в раскадровке. Я устанавливаю ведущее пространство в контейнер на большее или равное 20, верхнее пространство в контейнере больше или равно 20, а конечное пространство для контейнера больше или равно 20 и вертикальное расстояние до UICollectionView, UICollectionView удовлетворяет ограничения. Но UIImageView не работает, он говорит мне, что позиция и размер неоднозначны. Как я могу заставить его работать? Моя Идея - независимо от того, насколько велика картина, она всегда будет содержать 20 пробелов до ведущих, верхних, конечных и нижних.Позиция и размер неоднозначны для «Image view»

Я установил высоту и ширину, чтобы быть больше или равным некоторому значению, а их приоритет - 999, он ниже приоритета ведущего, верхнего и заднего. и я установил изображение в центре по горизонтали. но я получаю высоту, а вертикальное положение неоднозначно для «Image view».

http://i39.tinypic.com/24wxbh4.png

+0

Как насчет отправки кода или журналов из кода? –

+1

Код отсутствует. См. Рис. –

ответ

4

Вы можете видеть, что происходит, когда вы добавляете ограничения высоты и ширины к UIImageView, но устанавливаете их приоритеты на некоторое низкое значение, например. 1? Это должно помочь, но теперь UIImageView не будет центрироваться. Вы можете исправить это, добавив UIImageView в другое представление (пусто UIView) и центрируя его в нем как по горизонтали, так и по вертикали.

+1

Я установил высоту и ширину, чтобы они были больше или равны некоторому значению, а их приоритет - 999, он ниже, чем главный, верхний и конечный приоритет. и я установил изображение в центре по горизонтали. но я получаю высоту, а вертикальное положение неоднозначно для «Image view». –

+2

@yongho Оставьте свои ограничения, как они есть, но добавьте новые ограничения для ширины и высоты (EQUAL, не более или равные) с приоритетом, равным 1. Просто подумайте об этом: если нет набора изображений (пожалуйста, прочитайте о 'intrinsicContentSize'), и все, что у вас есть, - это два ограничения «больше или равно», тогда Auto Layout не будет знать, какие поля вы хотите, потому что многие пары удовлетворяют ограничениям. –

+0

Спасибо, сработало. Хотя он говорит, что вертикальное положение неоднозначно, но линии, наконец, все голубые. –

0

Если вы хотите, чтобы маржинальный вид вещи в кнопки через кодирование, чем пожалуйста, попробуйте их, если это будет работать

[button_Name setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 12.0, 0.0, 0.0)]; 

Я надеюсь, что это будет работать .. !!!

+0

Я пытаюсь в раскадровке. Я не хочу, чтобы маржа была исправлена. –

+0

возьмите кнопку как свойство IBOutlet, чем попробуйте. !! :) – Indra

2

Когда вы получите эту ошибку:

Position and size are ambiguous for “view”

Возможно следующие ограничения недостающую/неправильно установлено:

  1. Ширина ограничение (объем выпуска)
  2. Высота ограничение (объем выпуска)
  3. Ограничения на выравнивание (выпуск позиции)
1

Если вы используете Stack Views, убедитесь, что Photo Image View находится внутри Stack View! (Как в учебнике Apple)

+0

А также для UIStackView см. [Здесь] (https: // stackoverflow.com/вопросы/45428953/height-and-vertical-position-are-ambiguous-for-uistackview/45428954 # 45428954) – SparkyRobinson

+0

Это было для меня, спасибо! Я работаю над учебником «FoodTracker», и я не смог включить 'UIImageView' в' Stack View'. – Andi