我在我的应用程序中使用 UISegue 在我的应用程序中的 View Controller 之间自动转换。我称它们为 A 和 B。
它按预期工作,但是当我想从 B 返回 A 时,我尝试调用
[self.navigationController popViewController]
但是 B 的 navigationController 属性报告 null。
作为第二次尝试,我尝试将按钮映射到 UISegue 以返回 View Controller A。
然而,这只是创建了一个新的 ViewController。
作为解决方法,我最终做了一个解决方法是从 UIStoryboard 中检索 B viewcontroller
并调用 [A.navigationController pushViewController:B]
此时,调用 [B.navigationController popViewController]
按预期工作。
这似乎是错误的,从 Storyboard segue 我怎样才能返回到以前的 View Controller ?
最佳答案
我不知道你的 A 和 B Controller 的类(无论是 UIViewController、UITableViewController 还是 UINavigationController),但如果你遵循以下模式,它应该可以工作。
在一个空的 Storyboard中,插入一个 UINavigationController。这将为 Storyboard带来两个窗口,用箭头(一个 segue)链接。右边应该是 Controller A。
假设您在 A 中添加了一个按钮。该按钮会将 B 插入导航堆栈。
然后,添加第二个 Controller B,从 Controller A 中的按钮拖动到 Controller B,然后从弹出的菜单中选择“推送”。
如果您只使用 UIViewController (A) 并推送 B,则没有导航 Controller 来处理弹出。
希望对您有所帮助。
关于ios - UIStoryboard popViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887094/