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];
注意:我不是在寻找替代解决方案,而是在寻找为什么会发生这种情况。