Ios UITABBARC控制器在选项卡索引1处显示VC

Ios UITABBARC控制器在选项卡索引1处显示VC,ios,swift,uitabbarcontroller,presentviewcontroller,Ios,Swift,Uitabbarcontroller,Presentviewcontroller,我需要展示链接到UITabBarController第二个选项卡(索引:1)的VC。不使用故事板分段 segues也在发挥作用。守则: override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let tabVC = segue.destination as? UITabBarController tabVC.selectedIndex = 1 } 如果不使用segues,我的代码如下所示(见下文

我需要展示链接到UITabBarController第二个选项卡(索引:1)的VC。不使用故事板分段

segues也在发挥作用。守则:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    let tabVC = segue.destination as? UITabBarController 
    tabVC.selectedIndex = 1
}
如果不使用segues,我的代码如下所示(见下文)。在显示选项卡VC时,会显示第一个(索引:0)选项卡,尽管我将selectedIndex设置为1(第二个选项卡)。有什么解决这个问题的建议吗?谢谢

func presentTab1(_ sender: Any) {

    let tabVC =  MainTabBar() 
    tabVC.selectedIndex = 1

    present(tabVC, animated: true, completion: nil)
}

我建议将选定索引传递到构造函数中,并在ViewDidLoad中设置SelectedIndex。

我建议将选定索引传递到构造函数中,并在ViewDidLoad中设置SelectedIndex。

要执行以下两种方法,您可以使用其中的任何一种方法

1.)如果您有导航控制器,请在函数的代码行下方尝试

func presentTab1(_ sender: Any) {
    let targetVC = self.storyboard?.instantiateViewController(withIdentifier: "NavigateionControllerIdentifier") as! UINavigationController
    self.present(targetVC, animated: true)
}
2.)或者如果您想直接导航到viewcontroller,则

func presentTab1(_ sender: Any) {
    let targetVC = (self.storyboard?.instantiateViewController(withIdentifier: "viewControllerIdentifier"))!
    self.present(targetVC, animated: true)
}

要做到这一点,有两种方法,您可以使用其中任何一种

1.)如果您有导航控制器,请在函数的代码行下方尝试

func presentTab1(_ sender: Any) {
    let targetVC = self.storyboard?.instantiateViewController(withIdentifier: "NavigateionControllerIdentifier") as! UINavigationController
    self.present(targetVC, animated: true)
}
2.)或者如果您想直接导航到viewcontroller,则

func presentTab1(_ sender: Any) {
    let targetVC = (self.storyboard?.instantiateViewController(withIdentifier: "viewControllerIdentifier"))!
    self.present(targetVC, animated: true)
}

第1步:

为要转到的视图控制器指定一个名称。 选择该视图控制器,并从这里给出该VC的标识

第二步:

使用以下代码导航到该VC:

let targetVC = 
(self.storyboard?.instantiateViewController(withIdentifier: "someVC"))!
self.present(targetVC, animated: true)
如果你有导航控制器

let targetVC = 
self.storyboard?.instantiateViewController(withIdentifier: "NavigationControllerId") as! UINavigationController
self.present(targetVC, animated: true)

第1步:

为要转到的视图控制器指定一个名称。 选择该视图控制器,并从这里给出该VC的标识

第二步:

使用以下代码导航到该VC:

let targetVC = 
(self.storyboard?.instantiateViewController(withIdentifier: "someVC"))!
self.present(targetVC, animated: true)
如果你有导航控制器

let targetVC = 
self.storyboard?.instantiateViewController(withIdentifier: "NavigationControllerId") as! UINavigationController
self.present(targetVC, animated: true)

我也有同样的问题,你可以这样做:

func presentTab1(_ sender: Any) {
    self.tabBarController?.selectedIndex = 1
    _ = self.navigationController?.popToRootViewController(animated: true)
}
葛丽塔为我工作!
你只需要知道你想访问哪个索引。

我也有同样的问题,你可以这样做:

func presentTab1(_ sender: Any) {
    self.tabBarController?.selectedIndex = 1
    _ = self.navigationController?.popToRootViewController(animated: true)
}
葛丽塔为我工作!
您只需要知道要访问哪个索引。

您可以使用UIViewControllerAnimatedTransitioning。详细说明您的问题。是否希望应用程序使用选项卡栏启动,但从第二个选项卡而不是第一个选项卡开始?您可以使用UIViewControllerAnimatedTransitioning。详细说明您的问题。是否希望应用程序使用选项卡栏启动,但是从第二个选项卡而不是第一个选项卡开始?谢谢,但是在哪里启动序列图像板标识符“viewControllerIdentifier”?在身份检查中将序列图像板ID设置为viewControllerIdentifier?我不使用序列图像板!!!你知道在代码中设置情节提要ID的方法吗谢谢,但是在哪里启动情节提要标识符“viewControllerIdentifier”?在标识中设置情节提要ID为viewControllerIdentifier我不使用情节提要!!!你知道在代码中设置情节提要ID的方法吗?我没有使用情节提要!!!你知道用代码设置故事板ID的方法吗?你用代码制作了tab bar控制器吗?以及子视图控制器?让故事板=UIStoryboard(名称:“MainstryBoard”,bundle:nil)我没有使用故事板!!!你知道用代码设置故事板ID的方法吗?你用代码制作了tab bar控制器吗?以及子视图控制器?让故事板=UIStoryboard(名称:“MainstryBoard”,bundle:nil)