繁体   English   中英

在iPad iOS 7上呈现透明的模态UIViewController

[英]Presenting transparent modal UIViewController on iPad iOS 7

我有一个iPad应用程序,它支持所有方向,并且有一个UITabBarController管理一组视图控制器。 旋转在任何地方都按预期工作。 请记住,我的UITabBarController是我的应用程序UIWindow的.rootViewController

现在,我从UITabBarController模态呈现一个UIViewController。 它显示的很好,并且状态栏根据设备的方向移动。 但是,我的UIViewController的视框永远不会改变(无论显示方式如何,它始终是纵向尺寸)。

这在iOS 8上不是问题,我认为UITabBarController可以自行处理模式控制器。 有什么我想念的吗?

奖励:最终,此UIViewController将是透明的并显示其下面的应用程序。 当我尝试旋转设备时,所有常规视图控制器都不会旋转。

但是,我的UIViewController的视框永远不会改变(无论显示方式如何,它始终是纵向尺寸)。

这是预期的。 在iOS 7中,旋转是通过将转换应用于顶级视图控制器的视图来实现的。 此变换的应用不会更改帧,该帧保留为纵向尺寸。 在iOS 8中,旋转是在窗口级别实现的。

奖励:最终,此UIViewController将是透明的并显示其下面的应用程序。 当我尝试旋转设备时,所有常规视图控制器都不会旋转。

UIModalPresentationStyleFullscreen呈现样式会在被呈现的视图控制器覆盖时从窗口中移除呈现者的视图。 如果您修改显示的视图控制器视图的Alpha,则下面只会显示黑色。

由于iOS 7中不存在UIModalPresentationStyleOverFullscreen,因此您需要将UIModalPresentationStyleCustom与自己的过渡动画制作器一起使用。 不幸的是,在iOS 7中,带有可以旋转的视图控制器的自定义过渡非常容易出错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM