【发布时间】:2017-02-16 17:34:16
【问题描述】:
我正在制作一个选项卡式应用程序。它附有一个 TabBarController 和 4 个 ViewController。
默认情况下,启动时仅加载 FirstViewController。我想在开始时同时加载FirstViewController 和SecondViewController,然后通过选项卡菜单切换到第二个视图。
到目前为止,我尝试的是创建自定义 MyTabBarController 类并尝试使用
var sv = SecondViewController()
sv.loadView()
在ViewDidLoad() 中,但它在加载过程中导致了致命错误,因为(我的猜测)情节提要中的 mapView 元素没有加载。
同时加载两个使用情节提要元素的视图控制器的正确方法是什么?到目前为止,我所有的其他尝试都没有成功。
【问题讨论】:
-
您是否正在以编程方式创建您的 UITabBarController?如果是这样,您可以以编程方式创建每个视图控制器并将它们分配给标签栏控制器的
viewControllers属性。但这不是典型的设计模式。我可以问一下你为什么要这样做吗?是否出于性能原因(预加载第二个控制器以避免延迟)? -
嗯,如果我没看错你的问题 - 我在情节提要中创建了 TabBarController,然后创建了
MyTabBarController: UITabBarController类并将其分配给情节提要元素。我这样做只是为了一次加载 2 个视图控制器,因为我认为这是必需的。我需要同时加载它们的原因正是为了避免延迟
标签: ios swift uiviewcontroller uitabbarcontroller loading