Hi, I'm trying to create a table view with cell content like this
| Label |
| CollectionItem 1 CollectionItem 2 CollectionItem 3 |
| CollectionItem 4 |
Collection view item should auto wrap at cell end, both the collection view and table view use automatic height.
I can somewhat achieve this effect by doing:
- put the label and the collection view in a vertical stack view, make the stack view's each edge touchs table cell's corresponding edge.
- diable collection view scrolling.
- collection view's intrinsicContentSize returns layout's collectionViewContentSize value.
- in table cell's prepareForReuse method, I make the collection view reload its data.
But the problem comes when each table cell can contain different number of collection items: some table view cells have incorrect heights, clipping its collection view. My guess is that when table cells get reused, they don't take collection view's new intrinsicContentSize into account.
I tried calling sizeToFit/layoutIfNeeded/updateConstraints in cell's prepareForReuse method, none of them works.
If I replace the collection view with a multiline label, and make each cell contain different length of text, the cells all have correct heights.
I wonder why label are able to correctly resize cells? how can I make collection views do the same?
Thanks very much.