Instead of trying to handle resizing, you should instead make sure that the autoresist masks of your views are set correctly. In Interface Builder, you do this in the size inspector (⌘3) with the selected views.
If you have selected the entire hierarchy of views without setting your autoresist masks, you have a little boredom ahead, but this is not difficult (just tedious) and will not take much time. This is why you should automatically configure view masks when you create them.
After setting auto-masks, the views will automatically resize; if your interface is not very complex, or any views can go down to size zero, you do not need to interfere.
Peter Hosey
source share