2016-03-29 3 views
0

В моем приложении я использую UITableView для отображения статей для пользователя. У меня два типа: UITableViewCells; где статья не имеет изображения, а другая, где у статьи есть изображение.iOS - UIImage + UILabel Constraint Conflict В UITableViewCell

У обоих типов UITableViewCells есть заголовок UILabel и описание UILabel. У меня есть numberOfLines с названием UILabel, установленный в 0, так как название статьи может быть длинным или коротким. Это является определяющим фактором для высоты UITableViewCell, так как я использую UITableViewAutomaticDimension.

Это проявляется совершенно в том случае, когда изделие не имеет образа, как так:

enter image description here

Однако, в том случае, когда изделие имеет изображение, он не работает, как мне нужно, чтобы это. Это мой UIConstraints:

Статья Изображение Посмотреть

  • 0 пикселей справа, сверху и снизу ячейки

  • ограничение ширины 90 пикселей

Название Метка

  • numberOfLines составляет 0

  • 8 пикселей от верхней и левой ячейки

  • 8 пикселей слева от статьи изображения Вид

Описание Этикетка

  • numberOfLines является 1

  • 8 пикселей слева от ячейки

  • 0 пикселей от нижней части заголовка этикетки

  • 8 пикселей слева от статьи изображения Вида

  • 8 пикселей от нижней части ячейки

это проявляется так:

enter image description here

Это очень неприятно, потому что мои ограничения выглядят достаточно логично, чтобы правильно выполнять работу.

мне нужен макет, чтобы выглядеть, как карманный приложение делает это так:

enter image description here

Любые идеи о том, что я делаю неправильно? Любая помощь или совет будут оценены. Благодарю.

***** UPDATE *****

По совету @kirander, я изменил сопротивление приоритет сжатия содержания моего UIIMageView до 250, что помогло мне получить этот результат:

enter image description here

Есть ли способ свести к минимуму оставшееся пространство в названии ярлыка? Мне нужно, чтобы высота надписи заголовка была ТОЛЬКО достаточно, где весь текст подходит, а не пиксель больше.

+1

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

+0

Я не собирался указывать ограничение высоты на изображение, потому что мне нужно, чтобы изображение отображалось как сверху, так и снизу ячейки. – Rafi

+1

Я понимаю. Затем вы должны изменить приоритет сопротивления сжатию содержимого по вертикальной оси, чтобы метка имела больший приоритет, чем изображение. – kirander

ответ

0

В итоге я решил это с помощью кирандра и Майка Таверны. Если вам нужна герметичная конструкция, подобная этой, они были ограничениями, которые получили меня, что я хотел:

Статьи Изображения Посмотреть

  • 0 пиксели справа, сверху и снизу ячеек

  • ограничение ширины 90 пикселей

  • Приоритет
  • Содержание Сжатие Сопротивление -> 250

Название этикетки

  • numberOfLines составляет 0

  • 8 пикселей от верхней и левой ячейки

  • 8 пикселей слева от статьи изображения Вид

Описание Метка

  • numberOfLines составляет 1

  • 8 пикселей слева от ячейки

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

  • 8 пикселей слева от статьи изображения Вид

  • 8 пикселей от нижней части клетки

Эти ограничения дали мне следующую герметичную конструкцию:

enter image description here

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