UIStoryboard popViewController
我在我的应用程序中使用UISegue来自动在视图控制器之间转换。我会打电话给他们A和B.UIStoryboard popViewController
它按预期工作,但是当我想从B弹回到A时,我试图拨打 [self.navigationController popViewController]
但是B的navigationController属性报告为空。
作为第二次尝试,我试图映射一个按钮,一个UISegue回视图控制器A.
然而,这只是创建一个新的视图控制器。
作为工作的时候,我终于实现了为周围的工作是检索从UIStoryboard的,并呼吁[A.navigationController pushViewController:B]
在这一点,称[B.navigationController popViewController]
发挥预期。
这似乎是错误的,从故事板赛格瑞我怎么能返回到前一个视图控制器?
我不知道你的A和B控制器的类(无论是UIViewController,UITableViewController还是UINavigationController),但是如果你遵循下面的模式,它应该可以工作。
在空的故事板中插入一个UINavigationController。这会为故事板带来两个窗口,并与一个箭头(一个segue)相关联。右边的一个应该是控制器A
在A,比方说,你添加一个按钮。该按钮会将B推入导航堆栈。
然后,从控制器A到控制器B按钮添加第二个控制器B,并拖动,然后从弹出的菜单中选择“推”。
如果您只使用UIViewController(A)并按下B,则没有navigationController负责弹出窗口。
希望有所帮助。
如果您已经拥有UIViewController,则无需在UINavigationController中拖动并将其设置为up。相反,选择UIViewController并转到编辑器菜单并选择嵌入并选择UINavigationViewController,这将为您设置一切。 – 2012-02-07 00:34:29
@ Scott Sherwood。这是一个很好的窍门。我不知道。但有一个问题。当我在故事板中这样做时,Xcode自动将我的viewController变成一个navController和一个viewController,并与一个segue链接。那么它不是基本上是一回事吗? – Canopus 2012-02-07 01:12:55
是的,它只是一点点捷径而已。 navController和viewController之间的链接被称为关系,并且与Segue稍有不同,但原则上你留下的内容与你的建议相同。 – 2012-02-07 09:29:54
是“推”式的延续? – barley 2012-01-16 22:34:45
这是一种推式呀 – Onedayitwillmake 2012-01-17 05:35:09