如何以编程方式制作呈现新故事板的标签栏?
问题描述:
我想要在我的应用程序的每个页面中都有一个标签栏。我将应用程序的主要4个部分(选项卡上的部分)分成4个不同的故事板。我现在想要以编程方式制作标签栏,并在每次点击时加载一个新的故事板。如何以编程方式制作呈现新故事板的标签栏?
我已经做了类似这样的教程: http://swiftdeveloperblog.com/code-examples/create-uitabbarcontroller-programmatically/
但是现在不知道怎么把它转换成装载了新的故事板,而不是仅仅视图控制器?
虽然这是我的主要问题,我也想知道这是否值得。我之所以这样做是为了将故事板分开,因为我仍然想使用故事板,但我不想让一个巨大的故事板接管。但我可以这么做。
我也不知道内存是否明智,这是不是很好,因为每次全新的故事板将被加载时,点击栏中的标签会减慢速度?
答
创建UIStoryboard
和实例化初始视图控制器:
UIStoryboard(name: "TabOneStoryboard", bundle: nil)
.instantiateInitialViewController() as! TabOneViewController
如果你不希望实例的初始视图控制器然后通过ID创建它:
UIStoryboard(name: "TabOneStoryboard", bundle: nil)
.instantiateViewController(withIdentifier: "TabOneViewControllerID") as! TabOneViewController
我觉得这是一个非常实用的方法减少故事板的大小。在构建视图控制器之后,它们应该缓存在UITabBarController
中。不要担心故事板加载的性能,除非你看到某些事情变得缓慢。清理和这些事情的表现,苹果是相当不错的。
本帖地址,这个问题有点:Multiple storyboards: should I use a singleton pattern to cache them?
你的故事板有多大? –
4节,每节3-4个ViewControllers –