ios - UIStoryboard popViewController

标签 ios uiviewcontroller ios5 uistoryboard

我在我的应用程序中使用 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/

相关文章:

ios - 如何计算 iOS 中多边形的物理面积?

ios - SwiftUI 中的 Admob 原生广告

ios - UIViewControllerAnimatedTransitioning 在 iPhone X 上插入安全区域

iOS - 如何从 UITableViewCell 呈现不同的场景

ios - 在 iOS5 项目中导入框架

iOS:RestKit RKObjectManager

ios - 如何允许标签栏项目有多个 View Controller

iphone - .ipa启动时的应用入口和调用顺序

iphone - CIFilter 无法正常工作,返回空图像

iphone - 关于如何设置 Storyboard以使元素不重叠的建议