Can';t将我的UITableViewController链接到嵌套的UITableView
我需要提供一些背景资料来解释我是如何做到这一点的。我正在尝试创建一个包含不同片段(从底部向上滑动,从右侧向内滑动)的交互,据我所知,我不能在嵌入导航控制器的场景中混合这两种样式,因为如果我这样做,则显示片段将只从右到左显示 我想要的行为是:初始视图控制器->设置(从底部开始)->->->所选设置的详细信息(“标准”从右到左开始) 我还想在“设置”视图中放置一个导航栏,这样我就可以有一个“完成”按钮来关闭视图(从上到下滑出视线),如下所示: 当我使用导航控制器时,Interface builder不允许我添加导航栏,如果没有导航栏,它看起来是这样的: 所以,我尝试了一个建议嵌套视图的方法。它几乎可以正常工作(上面的第一个截图取自该代码),但它导致了一个新问题。问题是我无法将嵌套的“UITableViewController”链接到我的SettingsTableViewController.swift自定义类。它根本不是类下拉列表中的选项,因此我无法配置设置选项表 以下是我现在根据该线程的建议建立的层次结构: 另外,我已经确认我的Can';t将我的UITableViewController链接到嵌套的UITableView,uitableview,nested,views,segue,Uitableview,Nested,Views,Segue,我需要提供一些背景资料来解释我是如何做到这一点的。我正在尝试创建一个包含不同片段(从底部向上滑动,从右侧向内滑动)的交互,据我所知,我不能在嵌入导航控制器的场景中混合这两种样式,因为如果我这样做,则显示片段将只从右到左显示 我想要的行为是:初始视图控制器->设置(从底部开始)->->->所选设置的详细信息(“标准”从右到左开始) 我还想在“设置”视图中放置一个导航栏,这样我就可以有一个“完成”按钮来关闭视图(从上到下滑出视线),如下所示: 当我使用导航控制器时,Interface builde
设置StableViewController.swift
是UITableViewController
的子类
我被难住了,非常感谢您的帮助。如果您尝试一下
如果这不合理,请发表评论,祝你好运,…这是因为你的绿色箭头指向的是
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,则展开是很好的,对您来说,可能是“信息”-->设置->“详细信息”,并且您想从“详细信息”转到“信息”,您可以研究展开,但如果只是从“设置”到“信息”,则解除是绝对好的。