更改Xcode storyboard中视图控制器的列表顺序

我刚刚开始使用故事板的第一个应用程序。 我正在使用Xcode 4.5和iOS 6 SDK。 我想知道如何更改控制器在“文档大纲”(故事板左侧的面板)中列出的顺序。 在这里输入图像说明

在“文档大纲”中,拖动橙色的视图控制器图标。 当你这样做时,你会看到在灰色框之间出现蓝色水平插入点。 放开视图控制器的整个灰色组框将重新定位。

Xcode 9中,您只需打开Storyboard XML,然后将特定的“场景”移动到“scenes”标签下的适当位置。 就是这样。 订单将对应于文档大纲。

在Xcode 5中,故事板“文档大纲”中列出的视图控制器/场景的顺序似乎是由故事板XML文件中sceneID属性值的字母数字sorting确定的。

从4.6升级到Xcode 5后,“文档大纲”似乎以随机顺序列出了我的场景。 我检查了Storyboard XML文件(右键单击故事板文件 – >打开为 – >源代码),但场景的顺序是正确的。 经过进一步调查,我意识到sceneID属性值是问题。 我发现每个sceneID属性,并添加一个字母数字增加前缀的值。 例如,对于应出现在“文档大纲”中的第一个场景,我将其sceneID值前缀为“1a”,第二个“1b”,第三个“1c”等等。 在为我所有的场景做了这些之后,他们在文档大纲中有适当的列表顺序。

我认为场景ID值可能只用于唯一的识别/订购目的,所以希望改变它们不会导致其他意想不到的问题。 但是我仍然可以在界面生成器中使用故事板,没有任何问题,我的应用程序似乎正常工作。 所以,如果这个问题和我一样激怒你,你可能会考虑这个解决方法,直到苹果给我们一个适当的解决scheme…只要确保先备份!

至less在Xcode 4.6中,场景按照它们存储在故事板xml中的顺序排列。

所以你可以用文本编辑器打开它,然后重新sorting标签,然后启动Xcode。

我不确定它对你来说还是有意义的。 从xcode 6.1开始,您可以右键单击故事板文件,select“打开为…” – >“源代码”并更改视图控制器重新排列部分顺序的顺序。 我不能通过拖动视图控制器图标来解决这个问题,因为这是唯一的解决办法。

对于Xcode 5.1.1,你必须改变标签的顺序。 打开storyboard作为source code (右键单击 – >打开为 – >源代码)

 <segue destination="Bdn-Z8-Ql8" kind="relationship" relationship="viewControllers" id="0DS-1d-02F"/> <segue destination="KY3-Z9-s1u" kind="relationship" relationship="viewControllers" id="u45-Ly-JkB"/> <segue destination="k72-nP-MyV" kind="relationship" relationship="viewControllers" id="TAj-be-l8p"/> <segue destination="gcA-x5-8Iw" kind="relationship" relationship="viewControllers" id="B7T-js-1Vs"/> 

改变上述行的顺序将改变ViewControllers的顺序

看起来控制器属于标签栏控制器,所以button的顺序决定了顺序而不是视图控制器在屏幕上的位置。 您应该能够拖放button。