In-Call状态栏如何影响UIViewController的视图大小?

yon*_*nel 21 iphone statusbar uitabbarcontroller in-call

我试图理解__CODE__与a关联的方式__CODE__,__CODE__或者__CODE__在切换通话状态栏时做出反应.
我的麻烦是它们看起来表现不同,这会引起我的副作用.

我做了一个项目,改变了上面3种类型的窗口的根视图控制器,我转储__CODE____CODE__以获取框架坐标.


  • __CODE__

在此输入图像描述

inCall状态OFF:

__PRE__
__PRE__

我理解这一点:当出现在通话状态栏时,UIViewController的视图宽度收缩并且松散20,其y坐标从20移动到40.

那很完美 !更换一个经典的时候我会想到同__CODE__一个__CODE__或一个__CODE__,但事实并非如此!


  • __CODE__

    在此输入图像描述

InCall状态栏OFF

__PRE__
__PRE__

在这种情况下,当切换通话中状态栏时,UINavigationController处理的视图没有更改其帧属性?!(为什么?:()


  • __CODE__

在此输入图像描述 关闭

__PRE__
__PRE__

相同的__CODE__:对__CODE____CODE__似乎并没有受到影响,当门店状态栏切换.


有人可以解释一下,当显示incall状态栏时,此调整大小是如何工作的吗?
我的最终目标是显示__CODE__所显示高于整体__CODE__并显示在通话状态时适当调整大小.不过,我真的不知道该往哪里放这样的观点在视图层次结构:如果我将其添加为的UITabBarController的视图的孩子,因为这一个不向门店状态显示的反应,我的没有反应,以及: (

Mug*_*nth 17

切换通话中状态栏时视图的高度取决于其锚定方式.

使用UIView的autoResizingMask来控制在调用状态栏显示时视图是向下移动还是调整大小.

这两个属性,

UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleHeight  
Run Code Online (Sandbox Code Playgroud)

会帮助你.第一个推动视图,第二个改变大小.