如何以编程方式制作呈现新故事板的标签栏?

问题描述:

我想要在我的应用程序的每个页面中都有一个标签栏。我将应用程序的主要4个部分(选项卡上的部分)分成4个不同的故事板。我现在想要以编程方式制作标签栏,并在每次点击时加载一个新的故事板。如何以编程方式制作呈现新故事板的标签栏?

我已经做了类似这样的教程: http://swiftdeveloperblog.com/code-examples/create-uitabbarcontroller-programmatically/

但是现在不知道怎么把它转换成装载了新的故事板,而不是仅仅视图控制器?


虽然这是我的主要问题,我也想知道这是否值得。我之所以这样做是为了将故事板分开,因为我仍然想使用故事板,但我不想让一个巨大的故事板接管。但我可以这么做。

我也不知道内存是否明智,这是不是很好,因为每次全新的故事板将被加载时,点击栏中的标签会减慢速度?

+0

你的故事板有多大? –

+0

4节,每节3-4个ViewControllers –

创建UIStoryboard和实例化初始视图控制器:

UIStoryboard(name: "TabOneStoryboard", bundle: nil) 
    .instantiateInitialViewController() as! TabOneViewController 

如果你不希望实例的初始视图控制器然后通过ID创建它:

UIStoryboard(name: "TabOneStoryboard", bundle: nil) 
    .instantiateViewController(withIdentifier: "TabOneViewControllerID") as! TabOneViewController 

记住设置故事板属性检查器中的初始视图控制器:Attribute inspector

我觉得这是一个非常实用的方法减少故事板的大小。在构建视图控制器之后,它们应该缓存在UITabBarController中。不要担心故事板加载的性能,除非你看到某些事情变得缓慢。清理和这些事情的表现,苹果是相当不错的。

本帖地址,这个问题有点:Multiple storyboards: should I use a singleton pattern to cache them?

  1. 创建你现在的故事板 enter image description here

  2. 现在,在您的故事板参考集的详细信息在这里 enter image description here

  3. 故事板参考现在将此故事板参考嵌入到标签栏