UIImageView растягивается на всю высоту строки UITableViewCell - PullRequest
0 голосов
/ 09 ноября 2018

Введение:

Привет, я работаю над приложением "Новости", которое использует API новостей в Интернете. Я хочу отобразить содержимое последних новостей в TableView (в настоящее время я хочу отобразить заголовок новости, название организации, которая ее опубликовала (например, BBC), и изображение, которое я загружаю из данного ссылка на сайт). Я перетащил табличное представление в основную раскадровку, создал настраиваемую ячейку для отдельного элемента новостей и получил всю необходимую информацию из Интернета.

Проблема:

Когда все данные загружаются в TableView, изображение растягивается на всю высоту строк.

Я пытаюсь найти обходной путь в течение нескольких часов. На данный момент в ячейке прототипа у меня есть Stack View, который содержит 2 метки и ImageView с вертикальной осью и равномерным распределением заполнения. Нет никаких ограничений на представления внутри стекового представления (2 метки и ImageView), и я не редактирую никаких ограничений в коде, чтобы сделать его максимально простым. Я также попробовал подход с ограничениями до использования стекового представления, но он дал тот же результат.

Изображение стека

Результат в симуляторе (Строки без изображения, URL-адрес изображения не предоставлен API, поэтому я их просто пропускаю).

Я пытался выразить эту проблему как можно более выразительно, если вам все еще не хватает какой-либо информации, пожалуйста, дайте мне знать

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Я думаю, что вы в правильном направлении.

если вы хотите статический (фиксированный) макет. Выполните шаг ниже.

  1. изменить распределение StackView с Fill равным до Fill
  2. Apply StackView (ведущий, трейлинг, верх, низ) = клеток (что приводит, в конце, верхняя, bottm)
  3. установите tableView rowHeight на 300 или что хотите

, если вы хотите динамический макет, выполните шаг ниже

https://www.raywenderlich.com/1067-self-sizing-table-view-cells

0 голосов
/ 10 ноября 2018

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

Вы все еще можете добиться масштабируемого приложения, используя их. Если вы не понимаете, как это сделать, см. https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/AnatomyofaConstraint.html

Это должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...