there may actually be two options for this already built in that I have apparently never seen
-resizeSubviewsWithOldSize:
-resizeWithOldSuperviewSize:
both are geared towards autoresize masks but it's possible they'll do what we would want