一尘不染

在Swift中以编程方式在选项卡之间切换

swift

我需要编写一些代码以在iOS应用启动时将视图切换到另一个选项卡(例如,默认情况下显示第二个选项卡,而不是第一个)。

我是Swift的新手,并已完成以下工作:

  • 该代码可能应该放在第一个选项卡的ViewController的重写func viewDidLoad()函数中。

  • 以下代码显示了第二个ViewController,但没有在底部显示标签栏(vcOptions是第二个ViewController标签项:

    let vc : AnyObject! = self.storyboard.instantiateViewControllerWithIdentifier(“vcOptions”)
    self.showViewController(vc as UIViewController, sender: vc)

我认为答案可能在于使用UITabbarController.selectedIndex = 1,但不确定如何实现这一点。


阅读 266

收藏
2020-07-07

共1个答案

一尘不染

如果您window
rootViewControllerUITabbarController(这是在大多数情况下),那么你可以访问tabbardidFinishLaunchingWithOptionsAppDelegate文件。

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
    // Override point for customization after application launch.

    if let tabBarController = self.window!.rootViewController as? UITabBarController {
        tabBarController.selectedIndex = 1
    }

    return true
}

这将打开中具有index给定(1)的选项卡selectedIndex

如果你这样做在viewDidLoad你的firstViewController,你需要的标志或其他方法来跟踪所选标签的管理。最好的地方,这样做在
didFinishLaunchingWithOptions你的AppDelegate文件或rootViewController自定义类viewDidLoad

2020-07-07