Ios 拆分视图控制器导航栏的奇怪行为

Ios 拆分视图控制器导航栏的奇怪行为,ios,ipad,ios6,uinavigationbar,uisplitviewcontroller,Ios,Ipad,Ios6,Uinavigationbar,Uisplitviewcontroller,我发现UISplitViewController的UINavigationBar的行为相当奇怪。我在下图中有一个StatardrootViewController: 当按下bar按钮时(它暂时用于调试,样式为“Add button”),我会添加一个新的导航栏(注意:I Add,I not replace!),用于处理屏幕上完成的事件 解释-按下按钮,用户开始在屏幕上绘制素材,添加新的栏进行交互,以停止绘图模式 问题-但是,当我添加此栏时,会出现一个奇怪的图形细节,其中我的rootViewCon

我发现
UISplitViewController
UINavigationBar
的行为相当奇怪。我在下图中有一个Statard
rootViewController

当按下bar按钮时(它暂时用于调试,样式为“Add button”),我会添加一个新的导航栏(注意:I Add,I not replace!),用于处理屏幕上完成的事件

解释-按下按钮,用户开始在屏幕上绘制素材,添加新的栏进行交互,以停止绘图模式

问题-但是,当我添加此栏时,会出现一个奇怪的图形细节,其中我的
rootViewController
的栏被分成两部分。下图(红色标记):

这是一个已知的问题还是有原因的

代码:


注意:我不是在寻找替代解决方案,而是要解释发生这种情况的原因。

您的第二个导航条比第一个导航条添加的略低,因此您可以在蓝色条中看到分割。至于原因,我不能说没有更多关于如何添加它的信息。

为什么不添加UIToolBar来代替UINavigationBar?“工具栏-提供了一种在屏幕底部显示工具栏的机制。”我曾多次在顶部使用UIToolBar。举个例子,当我演示modelViewController+Apple doc时,我也这么说。好吧,这很好,但我不是在要求其他解决方案。为什么不从splitViewController演示全屏视图控制器(可能使用自定义动画)。更改拆分视图控制器的导航栏似乎很不方便。我添加了代码,我不认为我把它放得比我应该放的低。此外,当杆下降时,“缝合”在整个动画中可见。
UINavigationBar *tmpBar = [[UINavigationBar alloc] initWithFrame:CGRectOffset(CGRectMake(0.0, 0.0, 1024.0, 44.0), 0, - 44.0)];
UINavigationItem *it = [[UINavigationItem alloc] initWithTitle:@"Draw, baby, draw!"];
it.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelDrawing)];
it.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(sendMail)];
tmpBar.items = [[NSArray alloc] initWithObjects:it, nil];

self.canvasBar = tmpBar;

[self.splitViewController.view addSubview:self.canvasBar];
[self.splitViewController.view bringSubviewToFront:self.canvasBar];

[UIView beginAnimations:@"animateBarOn" context:NULL];
[UIView setAnimationDuration:1.0];
[self.canvasBar setFrame:CGRectOffset([self.canvasBar frame], 0, 44)];
[UIView commitAnimations];