UIStoryboard popViewController

时间:2012-01-16 22:19:30

标签: ios uiviewcontroller ios5 uistoryboard

我在我的应用程序中使用UISegue在我的应用程序中的viewcontrollers之间自动转换。我叫他们A和B.

它按预期工作,但是当我想从B回弹到A时,我试图打电话 [self.navigationController popViewController]但是B的navigationController属性报告为null。


作为第二次尝试,我尝试将按钮映射到UISegue,然后再查看控制器A. 然而,这只是创建一个新的ViewController。

作为一种解决方法,我最终做的工作是从UIStoryboard检索B viewcontroller并致电[A.navigationController pushViewController:B]

此时,调用[B.navigationController popViewController]按预期工作。

这似乎是错误的,从故事板segue我怎么能回到以前的视图控制器?

1 个答案:

答案 0 :(得分:2)

我不知道你的A和B控制器的类(无论是UIViewController,UITableViewController还是UINavigationController),但是如果你遵循以下模式,它应该可以工作。

  • 在空的故事板中,插入UINavigationController。这将为故事板带来两个窗口,与箭头(segue)链接。右边的一个应该是控制器A.

  • 在A中,假设您添加了一个按钮。该按钮将B推入导航堆栈。

  • 然后,添加第二个控制器B,并从控制器A中的按钮拖动到控制器B,然后从弹出的菜单中选择“推送”。

如果您只使用UIViewController(A)并按B,则没有navigationController来处理弹出。

希望有所帮助。