一番上の UIViewController として UITabBar を持つ UIViewController を持つ UINavigationController があります。(これは UITabBarController ではありません b/c Apple は、UINavigationController で UITabBarController をプッシュすることを望んでいないと言われています)。
UITabBar は 3 つの UIViewController を制御します。シミュレーターで実行すると、Interface Builder でシミュレートされたメトリックをどのように使用するかに応じて、3 つの UIViewControllers が 3.5 インチ画面または 4 インチ画面で動作します。しかし、3.5 インチと 4 インチの両方の画面で自動サイズ変更を機能させることができません。か、どちらかのようです。
UIAutosizeRemaskFlexiileWidth と Height だけなので、これは非常に単純なはずです。コードでこれを試してみましたが、Interface builder で遊んでも、UITabBar によって制御される 3 つの UIViewControllers が画面サイズに収まりませんでした。iPhone の画面サイズごとに分岐コードを書く必要はありません。