4

UINavigationBar我发现的行为相当奇怪UISplitViewController。我rootViewController在下面的图片上有一个标准:

在此处输入图像描述

当按下栏按钮时(它暂时用于调试,样式为“添加按钮”),我添加了一个新的导航栏(注意:我添加,我不替换!)处理屏幕上完成的事件。

说明- 按下按钮,用户开始在屏幕上绘制内容,添加新栏以进行交互以使绘制模式停止。

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

在此处输入图像描述

这是一个已知问题还是出于某种原因?

代码:

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];

注意:我不是在寻找替代解决方案,而是在寻找为什么会发生这种情况。

4

1 回答 1

0

您的第二个导航栏比第一个略低,因此您在蓝色栏中看到了划分。至于为什么,我不能说没有更多关于你如何添加它的信息。

于 2012-11-12T19:14:00.647 回答