While this shrink-to-fit is very hand, I would also like to point out that it is not as easy to make sure all the text is the same "font size." This is particularly true if you're trying to match one label that has 2 lines, and one that has a single line.
So far, I have found that I need to start off making sure (if it's a single line) I give it excess width, then slowly truncate it before it affects the size and starts shrinking it.
Back before you added this, I had wrapped your scaling system with this sort of logic:
-Supply a target scale that is ideal.
-Supply a minimun scale that is acceptable.
-Given our current scale, if everything fits given Y allowed lines, grow till we meet the target scale.
-Otherwise, if stuff does not fit, shrink till we hit the cutoff, at that point, truncate.
This gave designers the ability to say they wanted X lines (or not, it was optional), and also text would grow/shrink to fill the footprint while adhering to the min/max scales that were allowed.
--------
All that aside, in your new 3.0 system, maybe it would be nice to have a button that shrank the excess space away from the UILabel.
That way, we could defined a width that looked good, hit the shrink button, and that would make sure it didn't grow vertically if extra text wound up in there. Otherwise, you're setting the width, they entering new values into the height until you see it shrink, then you know you've gone 1 too far (which can be a bit tedious converting to 3.0 if you have what feels like 1,000 UILabels all over the place).