Yes, you are correct. As I mentioned in the discussion below, you just need to do a little work so that you make a different reuse identifier for every cell with a different number of labels.

Then, if you dequeue a cell (for example with reuse identifier "RecipeCell5Labels" which has 5 labels), you don't need to add any subviews or set any constraints, just update the text in the 5 labels and do the layout calculations to get the height.