隐藏后显示标签栏

ngz*_*cai 6 iphone controller uitabbarcontroller

有没有办法在隐藏标签栏后显示它?

有一个tabbar-nav结构.对于其中一个选项卡,我需要隐藏其第二级和第三级视图的选项卡栏.但与此同时,我需要展示其第一和第四视图.

我认为来自Elements的示例代码在这里并不适用.

Sam*_*ane 4

我找到了一个很好的实用解决方案来解决这个问题 - 使 UITabBarController 的视图大于它需要的大小,以便实际的 UITabBar 被屏幕剪切。

假设标签栏视图通常填充其超级视图,这种事情应该可以工作:

CGRect frame = self.tabBarController.view.superview.frame;
if (isHidden)
{
    CGFloat offset = self.tabBarController.tabBar.frame.size.height;
    frame.size.height += offset;
}
self.tabBarController.view.frame = frame;
Run Code Online (Sandbox Code Playgroud)

标签栏仍然显示,但它位于屏幕底部,因此似乎已被隐藏。

如果它导致额外的削波,它可能会对性能产生影响,但到目前为止,它似乎有效。