【问题标题】:View size reduces after hiding tab bar隐藏标签栏后视图大小减小
【发布时间】:2012-06-22 06:15:57
【问题描述】:

在我的 iPhone 应用中。

我在UITabBarController 中使用UINavigationControllers

喜欢:

标签栏:

  • 导航控制器。

    • 查看控制器1。
  • 导航控制器。

    • 查看 Controller2。

从上述任何视图控制器查看 Controllerx。

当我导航到 View Controllerx 时。

我正在隐藏标签栏。

问题是标签栏隐藏但视图大小减小。 底部出现空白。

[self.tabBarController.tabBar setHidden:YES];
[self.tabBarController.tabBar setFrame:CGRectZero];
[self.navigationController pushViewController:obj_tipcalc animated:YES];
[obj_tipcalc release];

谢谢。

【问题讨论】:

    标签: iphone objective-c ios xcode cocoa-touch


    【解决方案1】:

    您的导航控制器的视图位于您的 UITabBarController 的视图中,它不会填满整个屏幕。 只需尝试调整它的大小:

     ...
     CGRect biggerFrame = tabBarController.view.frame;
     biggerFrame.size.height += tabBarController.tabBar.frame.size.height;
     tabBarController.view.frame = biggerFrame ;
     ...
    

    要恢复原来的布局:

    ...
    CGRect smallerFrame = tabBarController.view.frame;
    smallerFrame.size.height -= tabBarController.tabBar.frame.size.height;
    tabBarController.view.frame = smallerFrame;
    ...
    

    【讨论】:

      【解决方案2】:

      这可能会有所帮助。在 ViewwillAppear 中设置框架。

      【讨论】:

      • 当tabbar hidden为false时再设置frame
      【解决方案3】:

      隐藏tabbar后改变view的frame:

      CGRect *rect=view1.frame;
      rect.size.height+=44;
      view1.frame=rect;
      

      【讨论】:

        【解决方案4】:

        只需在 TabBar 中包含的 viewController 上调用 loadView。这将以适当的大小重新加载视图

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-09-04
          • 2016-12-05
          • 1970-01-01
          • 2016-06-29
          • 1970-01-01
          • 2011-11-07
          • 1970-01-01
          相关资源
          最近更新 更多