更改Xcode故事板中视图控制器的列表顺序

Dar*_*ren 51 xcode ios xcode4 uistoryboard

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

Vik*_*era 63

Xcode 10中,您只需打开故事板XML并将特定的"场景"移动到"场景"标签下的适当位置.就是这样.订单将与文档大纲相对应.

  • 这确实是一件很棒的事情,它也可以工作。但是,那些不了解的人只需右键单击main.storyboard文件并作为源代码打开。然后,您将可以看到“场景”标签。希望它对新来者有所帮助。也感谢@victor (3认同)

Den*_*ton 18

在Xcode 5中,故事板的"文档大纲"中列出的视图控制器/场景的顺序似乎是通过故事板XML文件中的sceneID属性值的字母数字排序来确定的.

从4.6升级到Xcode 5之后,Document Outline似乎以随机顺序列出了我的场景.我检查了Storyboard XML文件(右键单击storyboard文件 - > Open As - > Source Code),但是场景的顺序是正确的.进一步调查后,我意识到sceneID属性值是问题.我找到了每个sceneID属性,并为该值添加了一个字母数字增加的前缀.例如,对于应出现在文档大纲中的第一个场景,我将其sceneID值加上"1a",第二个"1b",第三个"1c"等等.在为我的所有场景执行此操作后,他们在文档大纲中有一个正确的列表顺序.

我认为sceneID值可能仅用于唯一的识别/排序目的,因此希望更改它们不会导致其他意外问题.但是我仍然能够在Interface Builder中使用故事板而没有问题,我的应用程序似乎正常工作.因此,如果这个问题像我一样让你烦恼,你可能会考虑这个解决方法,直到Apple为我们提供适当的解决方案......一定要先做好备份!


obj*_*j-D 10

在"文档大纲"中,拖动橙色视图控制器图标.执行此操作时,您将看到灰色框之间出现蓝色水平插入点.放开,视图控制器的整个灰色组框将重新定位.

  • 这似乎复制视图控制器而不是移动它.仍然可以是一个体面的解决方案,因为我可以删除旧的.虽然有点奇怪. (14认同)
  • 可惜它不会移动它,因为复制(并删除旧的)会删除复制场景中所有已注册的segue. (4认同)
  • 此外,在Xcode 5中,它似乎随机选择放置副本的位置.拖动到给定的相同位置将无法保证副本将在那里结束,并且撤消和重新划分到同一位置会产生不同的结果. (4认同)
  • 它复制 - 同意.没有注意到绿色加号图标和副本出现. (2认同)

Son*_*son 8

至少对于Xcode 4.6,场景按照它们存储在storyboard xml中的顺序排列.

因此,您可以使用文本编辑器打开它并重新排序您喜欢的标签,然后启动Xcode.

  • 在Xcode 5中,这似乎不再正确 - XML文件中的顺序与UI不匹配. (3认同)
  • 在Xcode 6.0.1上,这是解决方案.实际上,它比更改场景的ID或拖动,删除,重新创建视图控制器的segue更快. (2认同)