ios - 如何从具有 XIB 设计的 View Controller 中使用 Segues?

标签 ios swift xib xcode-storyboard unwind-segue

我正在 Storyboard中实现导航层次结构。对于我的导航的一部分,我正在深入浏览数据树,因此我有几个连续的 View Controller ,它们具有完全相同的外观,但数据管理不同,因此它们需要单独的 Controller 。为了避免重复,我在 XIB 中对这些 View 进行了布局,为 XIB 创建了一个 VC 类来处理设置 View ,然后我为 Storyboard 中的每个 VC 扩展该类来处理 UITableViewDataSource东西。

现在导航工作正常,但我想在 XIB View 上有一个按钮来触发展开转回到开头。我在 Storyboard 中使用标识符设置了从具有 XIB 布局的 VC 到主屏幕的 Segues,但无论我做什么,当我调用 performSegueWithIdentifier 时我总是得到 has no segue with identifier错误。

我认为发生的事情是,加载 XIB 时, Storyboard中 View Controller 中额外添加的所有内容都会被删除。我发现这些 View 中的导航项发生了这种情况,并且我必须在代码中创建导航项,因为无法在 XIB 中添加导航项。我怀疑 segues 发生了一些相关的事情,但我无法找到解决方法。是不是不可能在 Storyboard 中使用 VC,并将其布局放在 XIB 中,然后从中执行转场?是否有一种编程方式可以在不将其设置在 Storyboard 中的情况下进行展开转场?

最佳答案

仅当您使用 Storyboard 时才可以展开。因此,在您的情况下,您必须使用 UINavigationController.popViewControllerAnimatedUIViewController.dismissViewControllerAnimated:completion:

关于ios - 如何从具有 XIB 设计的 View Controller 中使用 Segues?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36607826/

相关文章:

ios - 调用 InApp 邮件命令时应用程序崩溃

swift - Spring 加载 NSOutlineView 叶行

ios - 在 iPhone 的 Xib 之间传递变量

ios - 模拟 API 测试的 URLSession 是将无法识别的选择器发送到实例

ios - 在 Scenekit 中添加半透明图像作为纹理

iphone - UIImageView 的最大缩放比例

ios - 在 Swift 闭包内更新的 UILabel 文本拒绝显示

swift - Firebase swift 4 : iterate through observe results

ios - iOS 上的自定义模板系统

ios - 无法打开文档 “XXXX.xib”。我的 xcode 版本是 4.6.2 及以下。有没有安装 xcode 5 的替代解决方案?