标签栏图标和标题未显示故事板参考

时间:2016-02-04 19:24:10

标签: ios xcode storyboard ios9 storyboard-reference

我有以下故事板与故事板参考的segue:

enter image description here

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

enter image description here

这些是项目设置:

enter image description here

我错过了什么?

8 个答案:

答案 0 :(得分:17)

以下是如何正确显示标签:

  1. 将第一个嵌入到选项卡中的UIViewController放入 与UITabViewController一样的相同的故事板enter image description here
  2. Ctrl +从标签栏控制器拖动到内容视图 控制器按照惯例进行连接。这将 自动将UITabBarItem添加到内容视图的底部 控制器。 enter image description here
  3. 选择内容视图控制器。
  4. 单击编辑器菜单,然后选择重构到故事板... enter image description here
  5. UITabBarController选项卡现在将指向新的故事板参考... enter image description here ...并且内容视图控制器从标签栏关系中保留UITabBarItem。它现在通常会在应用程序中显示。 enter image description here

答案 1 :(得分:14)

您可以在所引用的故事板的初始视图控制器中修改标签栏项目的图像/标题。您只需添加一个'标签栏项'到初始视图控制器并相应地更改其属性(标题/图像)。

  1. 参考故事板中根视图控制器的概述视图
  2. document outline of referred to storyboard

    1. 视图控制器中已修改的标签栏项目
    2. initial view controller with modified tab bar item

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

答案 2 :(得分:13)

问题是在目标视图控制器中,您在视图层次结构中没有UITabBarItem。 TabBarItem与故事板引用相关,但应与View Controller相关。

看起来像一个" bug"在Xcode ......

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

  • 只需从UITabBarController创建segues到Storyboard引用。
  • 您可以在故事板参考中配置标签栏项目,除了在故事板上的标签栏中显示标签外,它们不会做更多其他事情,这对于开发目的而言非常好。

如果您现在运行应用程序,您确实会注意到标签丢失。 要使标签显示在正在运行的应用程序中,请执行以下操作:

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

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

In interface builder, find the Tab Bar item in the Object Library

Drag the Tab Bar item into your the destination view controller by following the storyboard reference

答案 3 :(得分:4)

我尝试添加另一个标签栏,然后添加标签栏项目,选中并为其设置图像但是上面的非上述似乎与我的案例一起工作.. 它是这样的: epub reader libs

然后我将它与使用TabBar图标正常工作的VC进行了比较。 Other VC tabs were showing tabBar icons properly but one that i refactored was missing its icon

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

enter image description here

现在它的工作:):))

The Tab bar item was inside with Navigation Bar.... i dragged the tabBar item to HomeVC and placed with NavigationBar item

答案 4 :(得分:3)

在解决这个问题几天后,我找到了这个解决方案。 双击故事板链接,这将打开引用的故事板。在场景导航器中,您可以使用自定义标题和图标编辑条形项。适用于xCode 9。

Storyboard

Scene Navigator

答案 5 :(得分:1)

我有同样的问题,上述答案都不适合我的情况。我通过在故事板的参考内的图像栏项目部分设置我的标签栏图像来解决,如附图所示:

enter image description here

答案 6 :(得分:0)

我在故事板中做了以下内容并为每个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.
    }

enter image description here

答案 7 :(得分:0)

我以不同的方式做到了。我的第四个标签没有显示。我只是以编程方式将图像放置在它的位置。您需要相应地设置其 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)

enter image description here