問題は自動サイズ設定にあります。より具体的には、Interface Builder で自動サイズ変更がクリックされていることを確認してから、Size Inspector で、テーブル ビューのすべてのスーパービューであるテーブル ビューの上部、左、右に赤い矢印が塗りつぶされていることを確認し、2 つを選択します。内部矢印。
質問者が実際にメインビューのサブビューにテーブルビューを持っていたのだろうかと思っています。ビュー階層で 1 レベル深いテーブル ビューでこの動作が見られます。
デフォルトでは、メイン ビューには自動サイズ調整矢印が正しく設定されていますが、追加のビューを追加すると、正しく設定されません。
複数のビュー コントローラの問題に関する質問への回答: UIViewController は UIView のデリゲートではないことに注意してください。実際、一連のイベントは逆方向に進んでいるように見えます。最初に、システムは自動回転を確認し、UIViewControllers にそれを通知します。UIViewControllers の shouldAutoresize が yes を返す場合、UIViewControllers はメイン ビューのサイズを変更します。サブビューが正しく設定されていれば、メイン ビューのサイズを変更すると、サブビューのサイズが自動的に変更されます。
Apple docs によると、ビューのさまざまな部分を制御する複数のビューコントローラーを使用しないでください-たとえば、メインビューのサブビューにあるテーブルビュー用の個別のテーブルビューコントローラー-イベントチェーンをいじるからです-ここではどのようになるでしょうか。それが役立つかどうかはわかりません。