0

我使用标签栏制作了一个应用程序。我有 2 个视图控制器:View1 和 View2 以及一个 RootViewController。在 RootViewController.m 中:

- (void)viewDidLoad
{
    [self.navigationItem setTitle:@"Tab Bar"];
    View1 *vc1 = [[View1 alloc]init];
    View2 *vc2 = [[View2 alloc]init];

    [vc1.tabBarItem setTitle:@"View1"];
    [vc2.tabBarItem setTitle:@"View2"];

    [self setViewControllers:[NSArray arrayWithObjects:vc1, vc2, nil]];
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

当我构建应用程序时,我有一个错误:有一个白色的地方。当我转到视图 2 并返回视图 1 时,它消失了。我想删除白色的地方。请在此处查看图片:http: //photo.ssc.vn/images/108Screen_Shot_2013_08_18.jpg 感谢您的帮助!

在此处输入图像描述

4

1 回答 1

0

这是将视图控制器添加到选项卡栏时的常见问题。

解决方案是设置wantsFullScreenLayoutUINavigationControllerNO,因此它甚至不会尝试为状态栏留出空隙。

苹果 说

选项卡栏控制器支持全屏布局的方式与大多数其他控制器支持它的方式不同。如果您希望其视图与状态栏或导航栏(如果存在)重叠,您仍然可以将自定义视图控制器的 WantsFullScreenLayout 属性设置为 YES。但是,将此属性设置为 YES 不会导致视图与选项卡栏视图重叠。标签栏控制器总是调整视图的大小以防止它与标签栏重叠。

有关更详细的说明,您可以查看此问题

于 2013-08-18T07:02:31.923 回答