Swift:如何在使用 XLPagerTabStrip 的子视图控制器后返回到第一个视图控制器
Swift: How to segue back to first view controller after using child view controllers from the XLPagerTabStrip
我一直在使用 XLPagerTabStrip 在我的视图控制器的顶部有效地创建一个选项卡栏,其中显示多个子视图控制器(来源:https://github.com/xmartlabs/XLPagerTabStrip)
让我们调用这些子视图控制器 A1、B1 和 C1。在子视图控制器中是 table 视图,一旦点击 segue 到新的视图控制器 (A2)。我希望能够从 A2 返回到显示子视图控制器的第一个视图控制器。我已经尝试向两个子视图控制器添加一个导航栏并使用 navigationController?.popToRootViewControllerAnimated(true)
方法,但是当按下包含此代码的按钮时没有任何反应。我也试过在母视图控制器中嵌入一个导航控制器,但这也不起作用(不确定这是不是因为子视图控制器 A1、B1 和 C1 没有连接到故事板中的母视图控制器)。
如有任何帮助,我们将不胜感激。
好的,我认为有几种方法可以解决这个问题。首先,答案取决于您使用的是哪种类型的 segue。如果您使用模态现在,那么您需要做的就是输入
self.dismissViewControllerAnimated(true, completion: completion)
否则请参阅下文以了解返回 A1 的方法ViewController。
第一个选项:
您可以将 Mother View Controller 嵌入到 UINavigationController 中。然后 Mother View Controller 将成为 UINavigationController 的根视图控制器,您将能够使用
navigationController?.popToRootViewControllerAnimated(true)
第二个选项:
放松转场。这些 segues 非常适合倒退,可以分 3 步实现。
- 为用户创建一个对象 select 返回(在你的情况下,这将是
A2 中的那个 UIButton)
在您想要 return 的控制器中创建一个展开方法。 (在你的情况下,该方法将在控制器 A1 中)
@IBAction func unwindToA1ViewController(segue: UIStoryboardSegue)
- 连接UIStoryboard中的方法。转到 A2 场景并控制拖动 A2ViewController 到 Exit,然后 select 您在步骤 2 中创建的展开方法。(在 A2 的最顶部 ViewController)
请参阅下文以获得进一步的解释和精美的视觉效果!
https://www.raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2
希望对您有所帮助!
我一直在使用 XLPagerTabStrip 在我的视图控制器的顶部有效地创建一个选项卡栏,其中显示多个子视图控制器(来源:https://github.com/xmartlabs/XLPagerTabStrip)
让我们调用这些子视图控制器 A1、B1 和 C1。在子视图控制器中是 table 视图,一旦点击 segue 到新的视图控制器 (A2)。我希望能够从 A2 返回到显示子视图控制器的第一个视图控制器。我已经尝试向两个子视图控制器添加一个导航栏并使用 navigationController?.popToRootViewControllerAnimated(true)
方法,但是当按下包含此代码的按钮时没有任何反应。我也试过在母视图控制器中嵌入一个导航控制器,但这也不起作用(不确定这是不是因为子视图控制器 A1、B1 和 C1 没有连接到故事板中的母视图控制器)。
如有任何帮助,我们将不胜感激。
好的,我认为有几种方法可以解决这个问题。首先,答案取决于您使用的是哪种类型的 segue。如果您使用模态现在,那么您需要做的就是输入
self.dismissViewControllerAnimated(true, completion: completion)
否则请参阅下文以了解返回 A1 的方法ViewController。
第一个选项:
您可以将 Mother View Controller 嵌入到 UINavigationController 中。然后 Mother View Controller 将成为 UINavigationController 的根视图控制器,您将能够使用
navigationController?.popToRootViewControllerAnimated(true)
第二个选项:
放松转场。这些 segues 非常适合倒退,可以分 3 步实现。
- 为用户创建一个对象 select 返回(在你的情况下,这将是 A2 中的那个 UIButton)
在您想要 return 的控制器中创建一个展开方法。 (在你的情况下,该方法将在控制器 A1 中)
@IBAction func unwindToA1ViewController(segue: UIStoryboardSegue)
- 连接UIStoryboard中的方法。转到 A2 场景并控制拖动 A2ViewController 到 Exit,然后 select 您在步骤 2 中创建的展开方法。(在 A2 的最顶部 ViewController)
请参阅下文以获得进一步的解释和精美的视觉效果! https://www.raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2
希望对您有所帮助!