【问题标题】:What is the best way to switch between UIViewControllers without using a navigation controller in storyboard?在不使用故事板中的导航控制器的情况下在 UIViewController 之间切换的最佳方法是什么?
【发布时间】:2012-06-27 18:11:21
【问题描述】:

请参考下图 -

我没有使用 NavigationViewController。使用故事板和segues时有没有办法在视图之间切换?我知道另一种方法是使用根视图控制器并以这种方式切换视图。只是想知道是否有其他方法可以做到这一点。

谢谢!

【问题讨论】:

    标签: ios xcode uiviewcontroller storyboard


    【解决方案1】:

    您可以:

    1. 使用导航控制器,但只是隐藏它(在故事板的 Interface Builder 设计中,以及在运行时通过 setNavigationBarHidden:animated: 以编程方式在 viewDidLoad 中)。因此,pushViewController(或简单的推送转场)和popViewController 可以在没有导航栏用户界面的情况下工作。

    2. 使用模态转场(即在幕后使用presentViewControllerAnimated)和dismissViewControllerAnimated

    【讨论】:

    • 所以我只需要为segue设置一个标识符并将类型设置为'modal'然后使用[self performSegueWithIdentifier:@"mySegue" sender:sender];对吗?
    • 如果我想回到初始视图怎么办?我需要从第二个视图转回第一个视图吗? (在这种情况下 - 我如何从 LoginSuccessViewController 或 ResgiterSuccessViewController 返回 LoginViewController?)
    • @wackytacky99 只需从相应的确认视图控制器调用dismissViewControllerAnimated
    【解决方案2】:

    它不需要navigationController 来使用segue。只需在 Storyboard 中设置和标识 Segue 的任何地方使用 [self performSegueWithIdentifier:@"mySegue" sender:sender]; 行。

    【讨论】:

    • 您仍然需要确定该segue 是push 还是modal segue,对吗?除非你有导航控制器,否则你不能推动。即使你做了一个custom segue,你的自定义代码也需要决定pushViewControllerpresentViewControllerAnimated
    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 2011-12-16
    相关资源
    最近更新 更多