模态视图控制器的呈现视图控制器不旋转

Posted

技术标签:

【中文标题】模态视图控制器的呈现视图控制器不旋转【英文标题】:Presentingviewcontroller of modalviewcontroller not rotating 【发布时间】:2013-12-06 07:10:28 【问题描述】:

我已经从viewController1 提交了ViewController2 并旋转了设备,modalviewcontroller (viewcontroller2) 仅根据旋转进行旋转,但背景呈现视图控制器不旋转。

UIViewController *viewController2 = [UIViewController alloc]init];
self.presentationstyle = UIModalPresentationCurrentContext;    
[self presentViewController:viewController2 animated:YES];

谁能帮帮我....

【问题讨论】:

在不显示模态视图的情况下,您的视图控制器屏幕是否随设备方向旋转? 【参考方案1】:

在发布重复问题之前,请先对 *** 本身进行研究。但是,我会为您提供正确的指示。

    Here 是您需要考虑的。 在 *** 的帖子中查看 here。

【讨论】:

为什么不将此帖子标记为重复?【参考方案2】:

我也有同样的问题,也许我可以为其他人节省一些时间。

简短的回答:我找不到真正的解决方案。

长答案:我认为这是一个错误。令人惊讶的是,在互联网上可以找到的帖子很少,因此可能存在一些未知的附带条件来触发此行为。 它只影响 UIModalPresentationCurrentContext。如果您不需要半透明,您可以选择其他模式,例如 UIModalPresentationFullScreen

结果状态非常混乱:statusBarOrientation 报告 gui 方向正确。界限也发生了变化。调用 setNeedsLayout 将导致布局在大小上与实际方向匹配但方向错误...

也许可以通过添加和删除带有相应方向支持标志的视图或其他一些丑陋的解决方法来触发框架以重新考虑其方向框架直接改变方向)

我求助于使用 addSubview 代替presentViewController 的解决方案。

【讨论】:

以上是关于模态视图控制器的呈现视图控制器不旋转的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义模式 UIViewControllerTransitioningDelegate 进行旋转

模态视图控制器不调用呈现视图控制器的dismissModalViewControllerAnimated:方法

从模态呈现的视图控制器内部呈现 UIPopoverController

在不覆盖 iPhone 上的当前视图的情况下呈现模态视图控制器

视图控制器以模态方式呈现/关闭时的通知?

关闭从模态呈现的视图控制器翻转的视图控制器