UITableView с динамической высотой строки показывает ошибки ограничения Auto Layout - PullRequest
0 голосов
/ 23 апреля 2019

Я создаю табличное представление с ячейками, высота которых определяется автоматическим макетом.

Ячейка табличного представления имеет только одно подпредставление - UIImageView, которое прикреплено к 4 сторонам ячейки табличного представления. Представление изображения имеет ограничение для поддержания соотношения сторон 4:3.

На следующем рисунке показана иерархия представления и ограничения. image showing view hierarchy and constraints

Высота строки представления таблицы установлена ​​на автоматический, как показано на следующем снимке экрана. enter image description here

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

(
    "<NSLayoutConstraint:0x600001d804b0 AppName.NeverClearImageView:0x7f938ce140f0.width == 1.33333*AppName.NeverClearImageView:0x7f938ce140f0.height   (active)>",
    "<NSLayoutConstraint:0x600001d80460 AppName.NeverClearImageView:0x7f938ce140f0.bottom == UITableViewCellContentView:0x7f938ce04790.bottom   (active)>",
    "<NSLayoutConstraint:0x600001d80410 H:[AppName.NeverClearImageView:0x7f938ce140f0]-(0)-|   (active, names: '|':UITableViewCellContentView:0x7f938ce04790 )>",
    "<NSLayoutConstraint:0x600001d82a80 H:|-(0)-[AppName.NeverClearImageView:0x7f938ce140f0]   (active, names: '|':UITableViewCellContentView:0x7f938ce04790 )>",
    "<NSLayoutConstraint:0x600001d82bc0 V:|-(0)-[AppName.NeverClearImageView:0x7f938ce140f0]   (active, names: '|':UITableViewCellContentView:0x7f938ce04790 )>",
    "<NSLayoutConstraint:0x600001dbb930 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7f938ce04790.height == 125.5   (active)>",
    "<NSLayoutConstraint:0x600001db8dc0 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7f938ce04790.width == 256   (active)>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x600001d804b0 AppName.NeverClearImageView:0x7f938ce140f0.width == 1.33333*AppName.NeverClearImageView:0x7f938ce140f0.height   (active)>

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

Примечание. Я вижу, что вышеуказанная ошибка не отображается, если приоритет соотношения сторон установлен на 999 вместо 1000. Кто-нибудь может указать, почему это решает проблему?

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