设置导航控制器的初始视图控制器
Set initial view controller of a navigation controller
我正在开发一个简单的 iOS 应用程序来学习 Swift 和 iOS 编程。
我想知道 "best" 在应用程序启动时呈现与导航控制器堆栈中的第一个视图控制器不同的视图控制器的方式是什么。
考虑这个故事板图:
Tab Bar Controller 是初始 View controller,"View Controller 1" 在导航控制器内的应用程序启动时显示。由于几乎从不使用 "View Controller 1",因此我想显示 "View Controller 2",并将 "back" 按钮指向 "View Controller 1"。为了节省时间和内存,我根本不希望加载 "View Controller 1",因为我已经知道必须在第二个视图控制器中显示哪些数据。
两个视图控制器实际上都是 Table 视图控制器,并且在第一个 VC 中选择其中一个单元格会触发到第二个单元格的转场。然而,用户通常只需要看到第二个 VC 就像 TVC 1 的第一个单元格被选中一样。
因为要能够"go back"第一个VC,需要放在第二个下面。我的建议是以编程方式将第一个 VC 设置为 appDelegate didFinishLaunchingWithOptions 和 immediately push/present VC2 中的根视图控制器。通过这种方式,第一个 VC 将不会显示,因此可以省略子视图中昂贵的视图 loading/laying。
我正在开发一个简单的 iOS 应用程序来学习 Swift 和 iOS 编程。 我想知道 "best" 在应用程序启动时呈现与导航控制器堆栈中的第一个视图控制器不同的视图控制器的方式是什么。
考虑这个故事板图:
两个视图控制器实际上都是 Table 视图控制器,并且在第一个 VC 中选择其中一个单元格会触发到第二个单元格的转场。然而,用户通常只需要看到第二个 VC 就像 TVC 1 的第一个单元格被选中一样。
因为要能够"go back"第一个VC,需要放在第二个下面。我的建议是以编程方式将第一个 VC 设置为 appDelegate didFinishLaunchingWithOptions 和 immediately push/present VC2 中的根视图控制器。通过这种方式,第一个 VC 将不会显示,因此可以省略子视图中昂贵的视图 loading/laying。