标签栏控制器+导航控制器上的导航栏布局问题

时间:2012-04-25 21:50:37

标签: xcode uinavigationcontroller uitabbarcontroller uinavigationbar

我已经按照操作方法在第一个选项卡中创建了一个带导航控制器的简单Tab栏控制器。直到这里所有工作正常,期待布局上的一个奇怪的问题。 当应用程序第一次启动时,第一个加载的笔尖顶部的导航栏稍微偏离视图。我无法弄清楚为什么会这样。在第一个视图中,有一个“添加新系统”按钮,用于打开模态视图。如果我按下此按钮并显示模态视图,然后我将关闭模式返回到初始视图,则顶部的导航栏将正确放置/刷新。如果我按下第二个TAB(它现在是一个没有导航控制器的简单笔尖)然后回到第一个TAB,导航栏被放置在正确的位置,也会发生同样的情况。 这是第一次启动时的屏幕截图:

Startup

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

After

在网上众多教程中的一个之后,代码很简单。我不是在使用故事板。只有自定义才会添加导航栏顶部的按钮:

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控制器+导航控制器。 如果需要,我可以发布整个代码。在选择系统下,有一个表格视图,这些图片为空,也未显示。

感谢您的帮助!

西蒙

1 个答案:

答案 0 :(得分:0)

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

[[UIApplication sharedApplication] setStatusBarHidden:NO];

在将navController添加为子视图后

。此外,导航控制器BAR不在视图之外,只需在状态栏下。

希望这有助于某人:)

干杯,西蒙