在点击按钮时按下导航控制器
Posted
技术标签:
【中文标题】在点击按钮时按下导航控制器【英文标题】:Pushing a navigation controller on tapping a button 【发布时间】:2014-12-22 20:43:32 【问题描述】:在我的 Swift 应用程序中,我有一个导航控制器,其中有一个表格视图控制器,其中包含一个“组”列表。我在顶部导航栏上有一个按钮,应该添加一个新的“组”。在点击按钮时,我需要设置一个视图控制器来添加一个新的“组”,以便在这个新视图的导航栏中使用标题为“组”的后退按钮从右侧滑入。
我尝试将导航视图控制器嵌入到我的“新组”视图控制器中,然后使用推送转场在“组”视图控制器的导航栏中的栏按钮项内进行触摸转换。 “不支持推送导航控制器”会导致此错误
我怎样才能最好地实现这种行为?
【问题讨论】:
【参考方案1】:一旦您的第一个视图控制器嵌入到导航控制器中,您就不必将后续视图控制器嵌入到它们自己的导航控制器中 - 您只需将它们推送到现有导航层次结构的上下文中。
因此,您可以从“新组”场景中移除导航控制器,然后通过按钮直接向新场景建立“推送”转场(尽管这已被弃用且 ios8 中首选“显示”转场)。
【讨论】:
我也预料到了,但是当我右键单击并从按钮拖动到我的新组控制器时,它是一个表格视图控制器,虽然它表明已经建立了一个 push segue,点击按钮什么都不做。这是它的样子:copy.com/rEXe0NxbphrMGREi 为什么你的groups表链接到另一个table view controller?不会直接进入新群场景吗?还是我可以看到的其他新组场景没有使用。我无法从您的屏幕截图中看到,- 如果您选择 + 按钮,检查器中显示的“触发的转场”是什么? 是的,那是一个未使用的控制器。我不知道之前发生了什么,但我删除了按钮并再次尝试,并且成功了。谢谢!【参考方案2】:如果您已经有一个导航控制器,您可能不想创建一个新的。
相反,从当前视图控制器调用[self.navigation controller pushViewController:animated:]
传递新的“创建组”视图控制器的实例。如果您设置了该视图控制器的title
属性,它将显示在导航栏中。
【讨论】:
以上是关于在点击按钮时按下导航控制器的主要内容,如果未能解决你的问题,请参考以下文章