从没有状态栏的全屏视图到有状态栏的正常视图的错误翻转转换

Posted

技术标签:

【中文标题】从没有状态栏的全屏视图到有状态栏的正常视图的错误翻转转换【英文标题】:Wrong flip transition from fullscreen view without status bar to normal view with status bar 【发布时间】:2011-12-01 14:48:59 【问题描述】:

一开始,我的应用程序显示全屏视图 (320x480),没有状态栏。在用户进行一些选择后,应用程序使用+[UIView transitionFromView:toView:duration:options:completion:] 切换到带有状态栏的普通视图。不幸的是,在过渡期间,toView 的大小似乎为 320x480,因此部分视图位于状态栏下方。过渡完成后,视图的大小会调整为 320x460(最初应该是这样)。

我的问题是如何强制视图在转换前正确调整大小。

【问题讨论】:

【参考方案1】:

我有一个类似但不相同的问题。试试这里给出的解决方案,它对我有用(基本上,使用 setAnimationsEnabled: 禁用部分动画):

RootViewController animation transition, initial orientation is wrong

【讨论】:

我的问题是我不能让状态栏成为 toView 图像的一部分。在 ios 5 上,由于某种原因,使用状态栏的隐藏属性进行操作会延迟。我目前的解决方案是在交易期间不显示状态栏,而是在交易完成后快速显示。

以上是关于从没有状态栏的全屏视图到有状态栏的正常视图的错误翻转转换的主要内容,如果未能解决你的问题,请参考以下文章

带有透明状态栏的全屏片段(以编程方式)

iOS 8.4 状态栏动画故障

在 ios7 中拍摄状态栏的快照

隐藏状态栏的视图控制器的交互式视图控制器转换

iPhone:在多视图控制器中隐藏/显示状态栏的问题

更改状态栏的背景颜色