xcode 选项卡栏图标与标题不随情节提要引用一起显示

jw5wzhpr  于 2022-11-26  发布在  其他
关注(0)|答案(9)|浏览(159)

我有下面的故事板,其中有一个故事板引用的延续:

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

以下是项目设置:

我错过了什么?

hsgswve4

hsgswve41#

以下是正确显示标签的方法:
1.将第一个要嵌入选项卡的UIViewController放在与UITabViewController * 相同的情节提要 * 中。

1.按住Ctrl键并从选项卡栏控制器拖动到内容视图控制器,以正常建立连接。这会自动将UITabBarItem添加到内容视图控制器的底部。

1.选择内容视图控制器。
1.单击“编辑器”菜单,然后选择“重构到情节提要...”

UITabBarController选项卡现在将指向新的情节提要引用...

...并且内容视图控制器保留选项卡栏关系中的UITabBarItem。它现在将正常显示在应用中。

qyzbxkaa

qyzbxkaa2#

您可以在您所引用的情节提要的初始视图控制器中修改选项卡栏项的图像/标题。您只需要将“选项卡栏项”添加到初始视图控制器中,并相应地更改其属性(标题/图像)。
1.所引用序列图像板中根视图控制器的大纲视图

1.视图控制器中已修改的选项卡栏项

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

gz5pxeao

gz5pxeao3#

问题是在目标视图控制器中,视图层次结构中没有UITabBarItem。TabBarItem与情节提要引用相关,但应该与视图控制器相关。
看起来像Xcode中的“bug ...”
要解决此问题,可以执行以下操作:

  • 只需创建从UITabBarController到情节提要引用的segue。
  • 您可以在故事板引用中配置Tab Bar Items,它们除了在故事板上的Tab Bar中显示选项卡之外没有做更多的事情,这对于开发来说是很好的。

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

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

现在运行应用程序,您将看到您的选项卡。

q0qdq0h2

q0qdq0h24#

我尝试添加另一个标签栏,然后添加标签栏项目,选择和图像,但上面的非似乎与我的情况下工作..它是这样的:

然后我比较了它与VC的工作正常与标签栏图标..

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

现在它的工作:):)

js81xvg6

js81xvg65#

在与这个问题斗争了几天之后,我找到了这个解决方案。双击故事板链接,这将打开引用的故事板。在场景导航器中,你可以用自定义的标题和图标编辑栏项。在xCode 9中工作。
Storyboard
Scene Navigator

mlmc2os5

mlmc2os56#

我也遇到了同样的问题,上面的两个答案都不适用于我的情况。我通过在故事板的引用中的 image bar item部分设置我的标签栏图像来解决这个问题,如所附的图像所示:

ss2ws0br

ss2ws0br7#

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

hi3rlvi2

hi3rlvi28#

我用了不同的方法。我的第四个选项卡没有显示。我只是通过编程把图像放在它的位置上。你需要相应地设置它的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)

nhjlsmyf

nhjlsmyf9#

只需在“子”视图控制器中添加一个选项卡栏项:

这对我有用

相关问题