Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:如何在使用XLPagerTabStrip中的子视图控制器后切换回第一个视图控制器_Ios_Swift_Uinavigationcontroller_Segue_Xlpagertabstrip - Fatal编程技术网

Ios Swift:如何在使用XLPagerTabStrip中的子视图控制器后切换回第一个视图控制器

Ios Swift:如何在使用XLPagerTabStrip中的子视图控制器后切换回第一个视图控制器,ios,swift,uinavigationcontroller,segue,xlpagertabstrip,Ios,Swift,Uinavigationcontroller,Segue,Xlpagertabstrip,我一直在使用XLPagerTabStrip在视图控制器的顶部有效地创建一个选项卡栏,其中显示多个子视图控制器(来源:) 让我们调用这些子视图控制器A1、B1和C1。在子视图控制器中有一个表视图,该表视图一旦点击segue,就会切换到一个新的视图控制器(A2)。我希望能够从A2返回显示子视图控制器的第一个视图控制器。我已尝试向两个子视图控制器添加导航栏,并使用navigationController?.popToRootViewControllerAnimated(true)方法,但当按下包含此代

我一直在使用XLPagerTabStrip在视图控制器的顶部有效地创建一个选项卡栏,其中显示多个子视图控制器(来源:)

让我们调用这些子视图控制器A1、B1和C1。在子视图控制器中有一个表视图,该表视图一旦点击segue,就会切换到一个新的视图控制器(A2)。我希望能够从A2返回显示子视图控制器的第一个视图控制器。我已尝试向两个子视图控制器添加导航栏,并使用
navigationController?.popToRootViewControllerAnimated(true)
方法,但当按下包含此代码的按钮时,不会发生任何事情。我还尝试在母视图控制器中嵌入导航控制器,但这也不起作用(不确定这是否是因为子视图控制器A1、B1和C1未连接到情节提要中的母视图控制器)


任何帮助都将不胜感激。

好的,所以我认为有几种方法可以帮助您解决这个问题。首先,答案取决于您使用的是哪种类型的segue。如果你用现在的方式,那么你需要做的就是打字

self.dismissViewControllerAnimated(true, completion: completion)
否则,请参见下文,了解返回A1ViewController的方法

第一种选择:

您可以将母视图控制器嵌入UINavigationController中。然后,母视图控制器将成为UINavigationController的根视图控制器,您可以使用

navigationController?.popToRootViewControllerAnimated(true)
第二种选择:

放松的一段。这些分段非常适合倒退,可以分3步实现

  • 创建一个对象供用户选择返回(在您的情况下 (A2中的按钮)
  • 在要返回到的控制器中创建展开方法。(在您的情况下,方法将在控制器A1中)

  • 在UIStoryboard中连接该方法。转到A2场景并控制拖动A2ViewController以退出,然后选择在步骤2中创建的展开方法。(位于A2 ViewController的最顶部)
  • 请参阅下面的进一步解释和精彩的视觉效果!


    希望这有帮助

    好吧,我想有几种方法可以解决这个问题。首先,答案取决于您使用的是哪种类型的segue。如果你用现在的方式,那么你需要做的就是打字

    self.dismissViewControllerAnimated(true, completion: completion)
    
    否则,请参见下文,了解返回A1ViewController的方法

    第一种选择:

    您可以将母视图控制器嵌入UINavigationController中。然后,母视图控制器将成为UINavigationController的根视图控制器,您可以使用

    navigationController?.popToRootViewControllerAnimated(true)
    
    第二种选择:

    放松的一段。这些分段非常适合倒退,可以分3步实现

  • 创建一个对象供用户选择返回(在您的情况下 (A2中的按钮)
  • 在要返回到的控制器中创建展开方法。(在您的情况下,方法将在控制器A1中)

  • 在UIStoryboard中连接该方法。转到A2场景并控制拖动A2ViewController以退出,然后选择在步骤2中创建的展开方法。(位于A2 ViewController的最顶部)
  • 请参阅下面的进一步解释和精彩的视觉效果!

    希望这有帮助