【问题标题】:Tab bar icon and title not showing with Storyboard References标签栏图标和标题未与 Storyboard References 一起显示
【发布时间】:2016-05-14 13:59:17
【问题描述】:

我有以下情节提要,其中包含情节提要参考:

问题是当我运行应用程序时,它没有显示图标或标题:

这些是项目设置:

我错过了什么?

【问题讨论】:

  • 我也遇到了同样的问题,你找到解决办法了吗?
  • 有人刚刚在下面发布了一个答案。我不再参与这个项目,所以请告诉我它是否有效,我会将其标记为答案。

标签: ios xcode storyboard ios9 storyboard-reference


【解决方案1】:

以下是让标签正确显示的方法:

  1. 将第一个将嵌入选项卡的 UIViewController 放在 与 UITabViewController 相同的故事板
  2. Ctrl + 从标签栏控制器拖动到内容视图 控制器照常进行连接。这会 自动将 UITabBarItem 添加到内容视图的底部 控制器。
  3. 选择内容视图控制器。
  4. 单击编辑器菜单并选择重构为情节提要...

UITabBarController 选项卡现在将指向新的情节提要参考... ...并且内容视图控制器保留了标签栏关系中的 UITabBarItem 。它现在将正常出现在应用程序中。

【讨论】:

  • 有什么方法可以自己建立关系吗?
【解决方案2】:

您可以在您所指的情节提要的初始视图控制器中修改选项卡栏项目的图像/标题。您只需向初始视图控制器添加一个“标签栏项目”并相应地更改其属性(标题/图像)。

  1. 引用的故事板中根视图控制器的大纲视图

  1. 视图控制器中修改后的标签栏项

注意:更改不会反映在主故事板的标签栏上;您只能在引用的故事板和运行时看到它。

【讨论】:

  • 为什么标签栏在情节提要中消失了?是 Xcode 的错误吗?
  • 我认为这与它是一个不同的文件(故事板)和 Xcode 没有实现它(从引用的故事板读取入口视图控制器)这一事实有关。因此,我认为缺少的功能比实际的错误还要多。
  • 这个解决方案是最快的。谢谢
【解决方案3】:

问题在于,在目标视图控制器中,视图层次结构中没有 UITabBarItem。 TabBarItem 与情节提要相关,但应与视图控制器相关。

看起来像 Xcode 中的“错误”...

要解决此问题,您可以执行以下操作:

  • 只需创建从 UITabBarController 到情节提要引用的转场。
  • 您可以在情节提要参考中配置选项卡栏项,除了在情节提要的选项卡栏中显示选项卡外,它们并没有做更多的事情,这对开发目的非常有用。

如果您现在运行该应用程序,您确实会注意到选项卡丢失了。 要让选项卡也显示在正在运行的应用程序中,请执行以下操作:

  • 转到故事板引用所引用的视图控制器
  • 通过将标签栏项从对象库拖到视图控制器中,将其添加到此视图控制器中
  • 您现在将在视图控制器中看到一个带有一个选项卡的选项卡栏
  • 配置标签栏项目以显示正确的标题和图标

现在运行应用程序,您现在将看到您的标签。

【讨论】:

  • 这解决了我的问题。即使我不需要将栏项添加到也显示在同一个 UITabBarController 中的其他 ViewController。我只需要使用其中一个视图控制器来执行此操作即可显示。奇怪的东西
  • 您实际上给出了与@Driess stackoverflow.com/users/6216669/dries相同的答案
  • 这为我解决了这个问题。非常感谢
【解决方案4】:

我尝试添加另一个选项卡栏,然后添加选项卡栏项目,选择它并为其提供图像,但以上似乎不适用于我的情况.. 是这样的:

然后我将它与使用 TabBar 图标正常工作的 VC 进行了比较。

后来我发现我的导航项和标签栏项没有放在一起:

现在它的工作:):)

【讨论】:

  • 这对我有用。由于故事板参考,设置这些标签栏项目有点乏味
【解决方案5】:

在解决这个问题几天后,我找到了这个解决方案。 双击情节提要链接,这将打开引用的情节提要。在场景导航器中,您可以编辑带有自定义标题和图标的栏项目。在 xCode 9 中工作。

Storyboard

Scene Navigator

【讨论】:

  • 通过直接打开引用/具有初始VC的情节提要添加栏项将不起作用。按照上述步骤,例如如果要打开选项卡的初始 VC,请通过单击情节提要参考打开它
【解决方案6】:

我遇到了同样的问题,以上答案都不适用于我的情况。我通过在情节提要参考中的 image 栏项目部分设置我的标签栏图像来解决,如附图所示:


【讨论】:

    【解决方案7】:

    我在情节提要中制作了以下内容,并为每个 UINavigationController 制作了课程 并在每个UINavigationController 类中编写以下代码

    override func viewDidLoad() {
            super.viewDidLoad()
            let someController = StoryboardManager.surveyStoryboard.instantiateViewControllerWithIdentifier("SomeController") as! SomeController
            viewControllers = [someController]
            // Do any additional setup after loading the view.
        }
    

    【讨论】:

      【解决方案8】:

      我以不同的方式做到了。我的第四个标签没有显示。我只是以编程方式将图像放在它的位置上。您需要相应地设置它的 X,Y 坐标。

          let imageName = "video"
          let image = UIImage(named: imageName)
          let imageView = UIImageView(image: image!)
          imageView.frame = CGRect(x: view.frame.width - 80, y:  view.frame.height-70, width: 50, height: 50)
          view.addSubview(imageView)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-20
        • 2018-02-14
        • 2019-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多