私も同じ問題を抱えていました。押し戻して最初のビューに移動すると、通常の横方向のアニメーションではなく、縦方向のアニメーションが表示されました。
Apple の NavBar サンプル コードに基づく回答を見つけました。サンプル コードを編集して、すべてのビュー コントローラーに「shouldAutorotateToInterfaceOrientation」を追加し、YES を返すようにしました。
実行すると、「戻る」を押したときに正しいアニメーションが使用されていることに気付きました。
修理:
ナビゲーション コントローラー内で独自のサブクラス化された UIViewController を使用し、shouldAutorotateToInterfaceOrientation を追加する必要があるようです。おそらく、デフォルトの UIViewController が正しい向きを返していないため、間違ったアニメーションが使用されています。
バックグラウンド:
自分のコードと Apple のコードの違いをすべて調べたところ、ナビゲーション コントローラーが UINavigationController のサブクラスであり、そこですべての作業を実行していることがわかりました。デフォルトでは、IB はこの中に UIViewController を追加していたので、そのままにしておきました。NavBar サンプル コードには独自のクラス セット (MainViewController) があることに気付きました。そこで、Xcode で xib を使用しない新しい UIViewController サブクラスを作成し、IB の Identity パネルの Class オプションで設定しました。
これが理にかなっており、役立つことを願っています!