AutoLayout добавляет NSAutoresizingMaskLayoutConstraint, который вызывает конфликт, и неясно, где и как.
Вопрос в следующем: откуда берется высота 293?
Иерархия UIView:
Журнал AutoLayout был пронумерован.Метки Xcode не отображаются в журналах AutoLayout.
Строка 1, похоже, проблема.Основываясь на ограничениях, кажется, что это Post View Cell
, который является пользовательским UICollectionViewCell
.
И все же функция sizeForItemAt
UICollectionViewDelegate не возвращает это значение.Если вы жестко закодируете возвращаемое значение в что-то вроде CGSize(width: 300, height: 100)
, в журнале все равно появится 293.
Так откуда же берется 293?
Строка 2 - это ограничение, установленное в коде, иэто правильное значение.Это представление должно быть Attachment View
.
Строки 3 и 4 относятся к Post Content View
, то есть UIStackView
.
Строка 5 относится к Text View
.
Строка 6 относится к Attachment View
.
Строка 7 - это интервал, установленный UIStackView
(Post Content View
).
1. "<NSAutoresizingMaskLayoutConstraint:0x600002a47610 h=--& v=--& UIView:0x7facf0e126b0.height == 293 (active)>",
2. "<NSLayoutConstraint:0x600002a79a40 UIView:0x7facf0e07110.height == 280 (active)>",
3. "<NSLayoutConstraint:0x600002a785a0 V:[UIStackView:0x7facf0e12890]-(10)-| (active, names: '|':UIView:0x7facf0e126b0 )>",
4. "<NSLayoutConstraint:0x600002a79180 V:|-(10)-[UIStackView:0x7facf0e12890] (active, names: '|':UIView:0x7facf0e126b0 )>",
5. "<NSLayoutConstraint:0x600002a7cff0 'UISV-canvas-connection' UIStackView:0x7facf0e12890.top == UITextView:0x7facf283a600'hi'.top (active)>",
6. "<NSLayoutConstraint:0x600002a7cf00 'UISV-canvas-connection' V:[UIView:0x7facf0e07110]-(0)-| (active, names: '|':UIStackView:0x7facf0e12890 )>",
7. "<NSLayoutConstraint:0x600002a7d270 'UISV-spacing' V:[UITextView:0x7facf283a600'hi']-(5)-[UIView:0x7facf0e07110] (active)>"
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600002a79a40 UIView:0x7facf0e07110.height == 280 (active)>