【问题标题】:Gap between nested container view controllers嵌套容器视图控制器之间的差距
【发布时间】:2017-10-05 10:51:55
【问题描述】:

有一个UITabbarController 和两个UINavigationViewController 嵌套在其中。UINavigationViewControllers 都有工具栏,但工具栏不在底部,而是在 44px 上方。为什么?

以编程方式添加的工具栏:

UIBarButtonItem *update = [[UIBarButtonItem alloc] initWithImage:[PfbUtility imageFromConfigIfExist:@"reload"] style:UIBarButtonItemStylePlain target:self action:@selector(eah)];
self.toolbarItems = [NSArray arrayWithObjects: update, nil];
self.navigationController.toolbarHidden = NO;

【问题讨论】:

  • 你是如何添加这些工具栏的?
  • 以编程方式
  • 在 Storyboard 中,尝试将拆分视图的底部附加到 tabBar 下方,而不是在它的顶部(如果您还没有的话)?
  • 哦,看起来已经是这样了.. 是仅在 iOS 11 上发生,还是在所有版本上发生?
  • 谢谢,是的,将它附在下面可以。虽然这是令人讨厌的修复。

标签: ios uinavigationcontroller uitabbarcontroller


【解决方案1】:

将 splitview 的底部连接到屏幕/视图的底部边缘(tabBar 下方),而不是 tabBar 的顶部。应用程序知道它位于 tabBar 下方,并将基于此自动偏移/插入内容。这不是一个“讨厌的修复”,而是预期的方法。执行此操作时,您还可以选择使用半透明导航和 tabBars。

【讨论】: