我试图了解view
关联到 aUITabBarController
或在通话状态栏被切换时的反应UINavigationController
。
我的麻烦是他们的行为似乎不同,这给我带来了副作用。UIViewController
我制作了一个项目,更改了上述 3 种类型的窗口的根视图控制器,然后我转储了description
以view
获取框架坐标。
UIViewController
通话状态关闭:
UIView: 0x4e2a1f0; 帧 = (0 20; 320 460); 自动调整大小 = W+H;……上
UIView: 0x4e2a1f0; 帧 = (0 40; 320 440); 自动调整大小 = W+H;...
这一点我的理解:当通话状态栏出现时,UIViewController 的视图高度缩小并失去 20,它的 y 坐标从 20 移动到 40。
那很完美 !UIViewController
当用aUITabBarController
或 a替换经典时,我会期望相同,UINavigationController
但事实并非如此!
UINavigationController
InCall 状态栏关闭
UILayoutContainerView: 0x4b35ab0; 帧 = (0 0; 320 480); 自动调整大小 = W+H;..上
UILayoutContainerView: 0x4e1b060; 帧 = (0 0; 320 480); 自动调整大小 = W+H;..
在这种情况下,UINavigationController 处理的视图在通话状态栏被切换时没有改变其框架属性?!(为什么 ? :( )
UITabBarController
离开
UIView:0x4b2f6a0;帧 = (0 20; 320 460); 自动调整大小 = W+H;...上
UIView:0x4b2f6a0;帧 = (0 20; 320 460); 自动调整大小 = W+H;...
与中相同UINavigationController
:切换调用状态栏时view
的UITabBarController
似乎没有受到影响。
有人可以解释一下在显示调用状态栏出现时这种调整大小是如何工作的吗?
我的最终目标是显示一个在整体上方UIView
显示的,并且在显示通话状态时正确调整大小。但是,我真的不知道将这样的视图放在视图层次结构中的哪个位置:如果我将它添加为 UITabBarController 视图的子视图,因为这个视图不会对调用状态显示做出反应,我的也不会做出反应: (UITabBarController