0

我遵循了如何在第一个选项卡中创建一个带有导航控制器的简单选项卡栏控制器。直到这里一切正常,预计布局上会出现一个奇怪的问题。当应用程序第一次启动时,第一个加载的 nib 顶部的导航栏有点在视图之外。我无法弄清楚为什么会发生这种情况。在第一个视图中,有一个“添加新系统”按钮可以打开模式视图。如果我按下此按钮并出现模态视图,然后我关闭模态返回初始视图,则顶部的导航栏将正确放置/刷新。如果我按下第二个 TAB(现在它是一个没有导航控制器的简单笔尖)然后回到第一个 TAB,也会发生同样的情况,导航栏被放置在正确的位置。这是第一次启动的屏幕截图:

启动

在这里,当我按下模态视图或第二个 TAB 然后回到第一个视图时:

后

遵循网上众多教程之一,代码很简单。我没有使用故事板。只有自定义是在导航栏顶部添加按钮:

UIImage *editbuttonImage = [UIImage imageNamed:@"edit_pressed.png"];
UIButton *editButton = [UIButton buttonWithType:UIButtonTypeCustom];
[editButton setBackgroundImage:editbuttonImage forState:UIControlStateNormal];
editButton.frame = CGRectMake(0, 0, editbuttonImage.size.width, editbuttonImage.size.height);
[editButton addTarget:self action:@selector(leaveEditMode) 
       forControlEvents:UIControlEventTouchUpInside];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
                                          initWithCustomView:editButton];

[editButton release];
[editbuttonImage release];

没有进行其他修改。笔尖以前在单个视图中使用过。然后我尝试将其插入 TAB 控制器 + 导航控制器。如果需要,我可以发布整个代码。在选择系统下有一个表格视图,在这些图片中是空的,也没有显示。

谢谢您的帮助!

西蒙

4

1 回答 1

0

我自己解决了这个问题。在启动时,我已设置隐藏状态栏并在应用程序委托中再次显示。使用的指令:

[[UIApplication sharedApplication] setStatusBarHidden:NO];

将 navController 添加为子视图之后。导航控制器 BAR 也没有超出视图,只是在状态栏下方。

希望这可以帮助某人:)

干杯,西蒙

于 2012-04-28T13:14:48.517 回答