【问题标题】:Tabbar not showing after a segue?转场后标签栏不显示?
【发布时间】:2018-05-24 21:29:29
【问题描述】:

我不知道我做错了什么,但我的UITabBar 在转场后没有显示。基本上,层次结构如下:

标签栏 > 导航控制器 > 视图控制器 > 导航控制器 > 视图控制器

我尝试删除第二个UINavigationController 以进行转换,第一个(蓝色)UIViewController 有一个上滑菜单(只是一个基本的UIView 带有按钮,即 Y 偏移量不在屏幕上,与基本动画),当一个按钮被点击时,它会导致相应的UIViewController。显示视图控制器后,您将不再看到 UITabBar。基本上,视图控制器是最重要的。我尝试将 segue 从模态呈现更改为推送,但它并没有改变它。我不知道我做错了什么。

这是UIStoryboard 的屏幕截图,可以更好地说明这一点。 PS:UITabBar 在这个UIStoryboard 上不可见,但在模拟器中显示。我可以保证。

更新:添加了故事板的全屏

【问题讨论】:

  • 您的导航代码在哪里?
  • @Lu_ 你说的“导航码”是什么意思?
  • 请拍摄UIStoryboard 的完整屏幕截图,并确认Hide Bottom Bar On Push 未选中。让我看看你的新屏幕截图

标签: swift uiviewcontroller uinavigationcontroller segue uitabbar


【解决方案1】:

将您的层次结构设置为:-- Navigation > Tabbar > Navigation Controller > View Controller 当您尝试从选项卡推送视图控制器时,您将选项卡设置为导航,最重要的是设置您的根视图层次结构。

在视图控制器存在的地方设置你的断点,然后在调试区域“po(navigation cotroller)”中它可能为零。

我,它会帮助你。

【讨论】:

  • 我试过了,我已经将UITabBar 嵌入到UINavigationBar 中,但它仍然不起作用。它仍然在标签栏的顶部显示视图控制器,
  • @Dani 可以打印导航控制器吗?它是 nil 吗?
  • 不是零。它给了我<UINavigationController: 0x10281ba00>。所以它确实存在
  • @Dani 你能上传故事板的全屏照片吗?
  • 我已将其添加到上面的初始问题中。请看一下
【解决方案2】:

viewController 的层次结构:- Navigation1 > ViewController1 > Navigation2 > ViewController2。(这不是处理这种层次结构的好方法)

当我从 ViewController1 推送到 ViewController2 时,它会出现,因为现在设置 Navigation2 意味着 ViewController2 设置为根视图控制器。

但我想将 ViewController1 推送到 ViewController2 我需要将根视图控制器更改为 ViewController2。

现在当我需要删除 Navigation2 时,将根更改为 ViewController1.so,根据您的问题,您需要更改根视图控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-31
    • 2012-08-13
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2014-01-19
    相关资源
    最近更新 更多