I've been looking at the way resiznig works in Cocoa Touch and it looks like without writing any code, a UIView cannot be set up to size itself based on the size of it's children. There are plenty of options to resize and re-position child views when their containing view changes size, but nothing that works the other way round as far as I can tell.
I wanted to check that this is the case before I do a load of subclassing to override sizeThatFits: