Can';t将我的UITableViewController链接到嵌套的UITableView

Can';t将我的UITableViewController链接到嵌套的UITableView,uitableview,nested,views,segue,Uitableview,Nested,Views,Segue,我需要提供一些背景资料来解释我是如何做到这一点的。我正在尝试创建一个包含不同片段(从底部向上滑动,从右侧向内滑动)的交互,据我所知,我不能在嵌入导航控制器的场景中混合这两种样式,因为如果我这样做,则显示片段将只从右到左显示 我想要的行为是:初始视图控制器->设置(从底部开始)->->->所选设置的详细信息(“标准”从右到左开始) 我还想在“设置”视图中放置一个导航栏,这样我就可以有一个“完成”按钮来关闭视图(从上到下滑出视线),如下所示: 当我使用导航控制器时,Interface builde

我需要提供一些背景资料来解释我是如何做到这一点的。我正在尝试创建一个包含不同片段(从底部向上滑动,从右侧向内滑动)的交互,据我所知,我不能在嵌入导航控制器的场景中混合这两种样式,因为如果我这样做,则显示片段将只从右到左显示

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

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

当我使用导航控制器时,Interface builder不允许我添加导航栏,如果没有导航栏,它看起来是这样的:

所以,我尝试了一个建议嵌套视图的方法。它几乎可以正常工作(上面的第一个截图取自该代码),但它导致了一个新问题。问题是我无法将嵌套的“UITableViewController”链接到我的SettingsTableViewController.swift自定义类。它根本不是类下拉列表中的选项,因此我无法配置设置选项表

以下是我现在根据该线程的建议建立的层次结构:

另外,我已经确认我的
设置StableViewController.swift
UITableViewController
的子类

我被难住了,非常感谢您的帮助。

如果您尝试一下

  • 添加UIViewController和UINavigationController(这会自动随UITableViewController一起提供)
  • 例如,在UIViewController中添加一个按钮,右键单击并拖动到UINavigationController,然后将segue设置为图像中的以下显示
  • 添加另一个UIViewController,右键单击并从UITableViewController拖动到新的UIViewController,然后使用推送序列,在执行“DidSelectRowatineXpath”时可以引用该推送序列
  • 你不需要连接东西,因为你的UITableViewController是UINavigationController的根视图控制器。如果你使用UITableViewController,你在它的层次结构中唯一应该拥有的就是UITableView,如果你想要其他东西,你需要使用UIViewController并添加UITableView,但我认为你不需要它因为您可以使用默认选项实现您的需求


    如果这不合理,请发表评论,祝你好运,

    …这是因为你的绿色箭头指向的是
    UITableView
    ,而不是
    UITableViewController
    。但我认为你正在走向死胡同。我认为你可以通过将设置视图控制器嵌入
    UINavigationController
    ,来实现你想要的目标使用“显示模式”序列显示
    UINavigationController
    (这将产生从底部向上的幻灯片效果)。然后使用设置视图控制器的“显示”序列(这将产生从右侧向上的幻灯片效果)。哦,这是一个愚蠢的错误。我太习惯于使用
    UITableViewController
    ,所以我尝试使用我们的一种习惯。我最初是按照您建议的方式开始的-使用现在模式-但这会导致您在上面的第二个屏幕截图中看到的问题,第一个单元格太高。我需要一个导航在状态栏和第一个单元格之间的栏上(如第一个屏幕截图),但当我将整个内容嵌入导航控制器时,IB不允许我使用。在IB中,取消选中属性检查器中的“扩展边:在顶部栏下”。还要将“完成”按钮添加到tableview的导航栏上,uiBarButtonim*doneButton=[[UIBarButtonItem alloc]initWithTitle:@“完成”样式:UIBarbuttonItemStyleBorded目标:自我操作:@selector(doneMethod:)];self.navigationItem.RightBarButtonim=doneButton;很抱歉,如果此代码不可读,我可以在必要时编辑我的答案。感谢您的回答。除了“完成”按钮外,我几乎所有东西都在工作。我无法使您的“完成”按钮代码正常工作,但我可以使用以下命令将其显示:
    navigationItem.RightBarButtonim=uibarbuttonite(标题:“完成”,风格:。普通,目标:自我,行动:无)
    。我只是想弄清楚如何正确设置
    操作
    ,这样它就可以释放segue并关闭model Settings视图。不用担心,我发送给您的代码是objective-c,我认为对于swift,您的操作参数如下所示,
    操作:#选择器(yourDismissMethod)
    ,然后在“yourDismissMethod”中,您可以使用
    self.dismissViewControllerAnimated(true,completion:nil)
    来解除模式。我已经完成了所有工作。再次感谢。最后一个跟进问题:在我做的研究中,我看到了很多关于解除分段的内容,而不是
    self.dismissViewControllerAnimated(true,completion:nil)
    方法。事实上,我发现了
    函数unwindForSegue(\unwindSegue:UIStoryboardSegue,towardsViewController-subsequentVC:UIViewController)
    。这可能是最好的做法吗?如果您想弹出多个viewcontroller,则展开是很好的,对您来说,可能是“信息”-->设置->“详细信息”,并且您想从“详细信息”转到“信息”,您可以研究展开,但如果只是从“设置”到“信息”,则解除是绝对好的。