Targeting iOS 8.1
Я использую AutoLayout, чтобы выложить несколько ярлыков в TableCell. Некоторые из этих ярлыков являются необязательными, а некоторые могут обернуть их текст. Они разделены на два столбца "Столбцы", эти столбцы представляют собой два UIView в TableCell ContentView. Мои ограничения применяются программно.
ВТОРОЕ ОБНОВЛЕНИЕ
Без Ответ SwiftArchitect ниже Я бы не решил этого и принял его ответ. Однако, поскольку мой все в коде, в пользовательской таблице, я также добавил отдельный ответ ниже
UPDATE
В попытке остановить ярлыки от растяжения до размера, большего, чем нужно, я ранее устанавливал значения SetContentHuggingPriority
и SetContentCompressionResistancePriority
в 1000, поскольку я полагал, что это было эквивалентно: "Я хочу, чтобы метка была обнимайте его содержимое до его точной высоты, и я не хочу, чтобы он когда-либо был сжат по вертикали"
Этот запрос явно не соответствовал AutoLayout, как вы можете видеть в примерах Red и Pink ниже.
this.notesLabel.SetContentHuggingPriority(1000, UILayoutConstraintAxis.Vertical);
this.notesLabel.SetContentCompressionResistancePriority(1000, UILayoutConstraintAxis.Vertical);
Я удалил настройку этих приоритетов, и ярлыки больше не раздавлены, что было моей оригинальной проблемой. Конечно, теперь некоторые метки растягиваются за пределами высоты, в которой они должны быть.
- Почему удаление приоритетов Hugging and Compression устраняет мои вопрос?
- Как я могу получить текст в красном поле (красное поле, не входящее в ячейку, добавленное позже), чтобы не расширяться, не возвращаясь к моей предыдущей проблеме?
Вот несколько скриншотов того, как это выглядело, когда приоритеты сжатия и обнимания устанавливаются. Цвета фона предназначены для отладки
Общая проблема заключалась в том, что Содержащий вид (цветной фиолетовый и красный) подбирал себя к меньшему из двух. Как вы можете видеть в верхней части, "Приоритет 3" сокращается, потому что левый контейнер столбца не должен быть выше.
В следующем примере нет метки приоритета, но EventDate сжимается.