2

我在 iOS 7 中遇到了导航控制器及其根视图控制器的奇怪行为。目标是使用像 MMDrawerController ( http://github.com/mutualmobile/MMDrawerController/ ) 或 ECSlidingViewController ( http://github .com/edgecase/ECSlidingViewController)。

对于他们两个,我的中心主视图都有一个底部间隙问题(如屏幕截图所示)。在这两种情况下,我都使用“storyboard instantiateViewControllerWithIdentifier”来检索我的控制器,所以我认为问题来自这里。

导航控制器框架(中心主视图)没问题。但是这个导航控制器的根视图控制器得到了错误的帧高度......

在 iOS6 和 Xcode4 中一切都很好,问题出现在 iOS7 和 Xcode5 中。我已经修复了所有应用程序的“扩展边缘”,只有这个导航控制器有这个问题......

经过更多调查,似乎问题在于 uitabbar 的高度被删除了两次:

1 - ECSlidingViewController 去掉 uitabbar 高度来计算自己的高度

2 - ECSlidingViewController 加载导航控制器作为中心主视图及其框架

3 - 导航控制器加载其根视图控制器

4 - 根视图控制器再次删除 uitabbar 高度以计算其高度

所以根视图控制器得到“窗口大小 - uitabbar 高度 - uitabbar 高度”。这就是为什么uitabbar的大小有差距...

现在我需要找出为什么会出现这种行为,以及如何摆脱它......如果您对这个问题有任何想法,请提前致谢!

问题1 问题 2

4

1 回答 1

0

我发现只是隐藏 navigationController 工具栏就可以了...

[self.navigationController.toolbar hide];

PS:MMDrawerController 错误?

于 2014-12-30T11:37:32.400 回答