不能 link 我的 UITableViewController 到我的嵌套 UITableView

Can't link my UITableViewController to my nested UITableView

我需要提供一些背景来解释我是如何到达现在的位置的。我正在尝试创建一个涉及不同 segues 的交互(从底部向上滑动,从右侧滑入),据我所知,我不能在嵌入导航控制器的场景中混合这两种样式,因为如果我这样做,Show segue 只会从右到左出现。

我想要的行为是:初始视图控制器 -> 设置(从底部开始) -> -> 所选设置的详细信息('standard' 从右到左继续)

我还想在“设置”视图中放置一个导航栏,这样我就可以有一个关闭视图的“完成”按钮(从上到下滑出视线),如下所示:

当我使用导航控制器时,界面构建器不允许我添加导航栏,如果没有它,它看起来像这样:

因此,我尝试了 中建议嵌套视图的内容。它几乎可以工作(上面的第一个屏幕截图是从该代码中截取的),但它导致了一个新问题。那个问题是我不能 link 嵌套的 `UITableViewController' 到我的 SettingsTableViewController.swift 自定义 class。它根本不是 classes 下拉列表中的一个选项,因此我无法配置我的 table 设置选项。

这是我现在根据该线程的建议得到的层次结构:

此外,我已经确认我的 SettingsTableViewController.swift 低于 classing UITableViewController

我很困惑,非常感谢您的帮助。

如果你尝试这个,

  1. 添加一个 UIViewController 和一个 UINavigationController(这会自动附带一个 UITableViewController。
  2. 例如,在UIViewController中添加一个按钮,右击并拖动到UINavigationController中,设置segue如下图所示。
  3. 添加另一个 UIViewController 并右键单击从 UITableViewController 拖动到新的 UIViewController 并使用 push segue,您可以在执行时参考 'didSelectRowAtIndexPath'。

您不需要连接任何东西,因为您的 UITableViewController 是 UINavigationController 的 rootViewController。如果你使用 UITableViewController,你唯一应该在它的层次结构中拥有的是 UITableView,如果你想要其他东西,你需要使用 UIViewController 并添加 UITableView,但我认为你不需要这个,因为你可以实现你的要求使用默认选项。

如果这没有意义,请发表评论,祝你好运,