iphone - 隐藏后显示标签栏

标签 iphone controller uitabbarcontroller

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

有一个标签栏导航结构。对于其中一个选项卡,我需要隐藏其第二级和第三级 View 的选项卡栏。但同时我需要显示它的第一个和第四个 View 。

我认为 Elements 中的示例代码在这里并不适用。

最佳答案

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

假设标签栏 View 通常填充其 super View ,这种事情应该可以工作:

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;

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

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

关于iphone - 隐藏后显示标签栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544701/

相关文章:

ios - 查看旧导航栏和选项卡栏 Controller 的 Controller 问题

ios - 从 CocoaPods 资源包加载图像

Grails Controller 的 Java 时间转换

objective-c - UITabBarController 的更高效设计,具有 2 个相同的 View Controller ,仅数据不同

asp.net-mvc - 使用授权过滤器区分 Controller 操作

ruby-on-rails - 这种计算是放​​在Model还是Controller?

ios - TableViewController 导致 TabBar 项目标题更改为导航栏标题

ios - 如何制作一个字符串数组(字符串有json数据)

iphone - 状态栏下方的空白

iphone - 管理两个特定于设备的应用程序