I’m someone who has written an app that uses autolayout of five labels in a cell in a table whose cells have different heights, where the labels resize themselves according to what’s in them, and it does work. I’m going to suggest, therefore, that the reason you’re having trouble might be that your constraints are under-determining the layout – that is, that you’ve got ambiguous layout for the elements of the cell. I can’t test that hypothesis because I can’t see your constraints. But you can easily check (I think) by using po [[UIWindow keyWindow] _autolayoutTrace] when paused in the debugger.
Also I have one other suggestion (sorry to just throw stuff at you): make sure you’re setting the label’s preferredMaxLayoutWidth. This is crucial because it’s the width at which the label will stop growing horizontally and start growing vertically.