在我的iOS应用程序中,我需要在仅纵向视图控制器上以模态方式呈现仅横向视图控制器 . 仅纵向视图控制器由具有嵌入式表视图控制器的视图控制器组成 . 为了强制横向视图控制器是横向的,我向它添加了以下代码:

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

然后,从仅纵向视图控制器,我以模态方式呈现仅景观视图控制器 . 不幸的是,当解除仅景观视图控制器时,我发现仅限纵向视图控制器的布局被改变 . 具体来说,表视图的内容偏移已更改,并且动态单元格高度被抛弃 .

当我删除强制仅横向视图控制器的代码为横向时,这些更改没有发生...打开和关闭模态视图导致父视图的布局保持完全相同 .

如何将模态视图控制器呈现为横向而不改变其仅限纵向父级的布局?