【发布时间】:2013-09-23 14:23:57
【问题描述】:
我在 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的大小有差距...
现在我需要找出这种行为的原因,以及如何摆脱它...如果您对这个问题有任何想法,请提前致谢!
【问题讨论】:
-
你有解决办法吗?
标签: iphone ios uinavigationcontroller ios7 xcode5