Xcode - iOS - 要更改的导航控制器场景顺序

Posted

技术标签:

【中文标题】Xcode - iOS - 要更改的导航控制器场景顺序【英文标题】:Xcode - iOS - Navigation controller scene order to be changed 【发布时间】:2012-03-17 13:48:47 【问题描述】:

我通过以下方式创建了转场:

视图控制器 VC1 是根视图控制器 从视图控制器从 VC1 到 VC2 的转场

Xcode中有一段展示了导航控制器场景(见附件)

导航控制器场景按以下顺序显示:

VC2 导航控制器 VC1

问题:

虽然一切都按预期工作,但我想更改导航控制器场景的显示顺序

导航控制器的顺序不反映segues的连接方式

有没有办法手动更改顺序而不必删除视图控制器并重新创建它们(请参阅附图)?

【问题讨论】:

我不明白你改变导航控制器场景的显示方式是什么意思。您只是想更改 IB 中的顺序还是这种情况对代码有影响? 你不需要重新创建。但你要做的工作很少。你只需要“选择那个VC2 +按cmd +拖放到最后并连接它。然后删除那个旧的首先是VC2。 @R.A 非常感谢我尝试了命令拖动,但似乎没有用,但这样做时,我意识到复制和粘贴控制器就像一个魅力,然后只需要删除旧视图控制器 @fbernardo 我想在 IB 而不是代码中更改顺序。这几乎就像想要在项目导航器中更改某些 .h / .m 文件的顺序一样。无论如何,复制和粘贴视图控制器可以解决问题,然后删除旧的视图控制器。唯一的问题是,需要重新创建不费力的 segue 【参考方案1】:

使用文本编辑器(它是 XML)打开您的故事板文件并找到类似 的内容,然后您应该会看到:

<!--VC1-->
   <scene sceneID="...">
        ....
   </scene>
<!--Navigation Controller-->
   <scene sceneID="..">
        ....
   </scene>

换个顺序就行了^^

编辑:

“改变顺序”是指重新排列整个块,注意不要弄乱你的文件。

【讨论】:

非常感谢,我只是觉得将视图控制器复制并粘贴到 IB 上然后删除旧视图控制器更安全。

以上是关于Xcode - iOS - 要更改的导航控制器场景顺序的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 8 上导航到上一个场景

在swift 4下更改导航控制器后退按钮的字体

XCode IOS初学者UIViewController类更改按钮

导航控制器的 Xcode Visual Storyboard 问题

带有xcode9的ios11中没有显示导航图标?

appDelegate 中的委托功能不会更改导航栏颜色