上下文:在我们的应用中,我们以UITabBarController
作为根,然后每个选项卡视图控制器都包装在专用的UINavigationController
中。我们已经为应用程序中的所有UINavigationController
添加了全新的自定义弹出/推入过渡动画。
问题:每当我们按下具有hidesBottomBarWhenPushed = true
的视图控制器时,在弹出该视图控制器时,我们都会看到UINavigationController
的视图大小会随着标签栏的高度而减小。切换到其他选项卡,我们发现这些选项卡也受到了影响-它们的高度也有所降低。这意味着问题在于UITabBarController
本身。由于某些原因,它决定从其子项的可用高度中减去标签栏的高度,这会影响UINavigationController
及其子项的布局方式(请参见下面的屏幕截图)。
根UITabBarController
的配置:
UINavigationController
的配置用作制表符的根:
观察:
即使复杂度降低到裸露的骨头,上述效果仍然存在-不使用自定义类,过渡动画仅改变视图的水平位置。
我们尝试为Under Opaque Bars
启用UINavigationController
,但是在这种情况下,视图高度不会降低UITabBar
的高度,而是降低底部保险柜的高度区域(34分)。
我们很迷茫,非常感谢您提出任何有关此主题的想法。