Подтвердить что ты не робот

Измените порядок листинга контроллеров представления в раскадровке Xcode

Я только начинаю свое первое приложение с помощью раскадровки. Я использую Xcode 4.5 и iOS 6 SDK. Я хочу знать, как изменить порядок, в котором контроллеры перечислены в структуре документа (панель слева от раскадровки). enter image description here

4b9b3361

Ответ 1

В схеме документа перетащите значок оранжевого контроллера. Когда вы это сделаете, вы увидите голубую горизонтальную точку вставки между серыми прямоугольниками. Отпустите, и вся группа серых групп для контроллера вида будет перемещаться.

Ответ 2

В Xcode 9 вы просто открываете раскадровку XML и перемещаете определенную "сцену" в нужное место под тегом "сцены". И это так. Заказ будет соответствовать контуру документа.

Ответ 3

В Xcode 5 порядок контроллеров/сцен, перечисленных в раскадровке "Структура документа", по-видимому, определяется буквенно-цифровой сортировкой значений атрибута sceneID в XML файле раскадровки.

После обновления до Xcode 5 из 4.6, в "Структура документа", как представляется, перечислены мои сцены в произвольном порядке. Я проверил XML файл Storyboard (щелкните правой кнопкой мыши на файле раскадровки → Open As → Source Code), но порядок сцен был верным. После дальнейшего исследования я понял, что значения атрибута sceneID были проблемой. Я нашел каждый атрибут scriptID и добавил к нему значение, увеличивающее буквенно-цифровую величину. Например, для первой сцены, которая должна отображаться в структуре документа, я префиксил ее значение идентификатора сцены "1a", для второго "1b", для третьего "1c" и так далее. Сделав это для всех моих сцен, у них был правильный порядок листинга в структуре документа.

Я думаю, что значения sceneID, вероятно, используются только для уникальных целей идентификации/заказа, поэтому, надеюсь, их изменение не вызывает других неожиданных проблем. Но я все еще могу работать с раскадрой в Interface Builder без проблем, и мое приложение, похоже, работает нормально. Поэтому, если эта проблема раздражает вас так же сильно, как и я, вы можете подумать об этом решении, пока Apple не даст нам правильное решение... просто убедитесь, что сделали резервную копию в первую очередь!

Ответ 4

Как минимум для Xcode 4.6, сцены находятся в том порядке, в котором они хранятся в xml-раскадровке.

Итак, вы можете открыть его с помощью текстового редактора и переупорядочить теги по своему вкусу и запустить Xcode.

Ответ 5

Я не уверен, что это все еще имеет смысл для вас. Начиная с xcode 6.1 вы можете щелкнуть правой кнопкой мыши свой файл раскадровки, выбрать "Открыть как..." → "Исходный код" и изменить порядок упорядочивания разделов разделов. Я не могу их перетащить, перетащив значки контроллера мыши по неизвестной причине, так что это единственный способ, который работает для меня.

Ответ 6

Для Xcode 5.1.1 вам нужно изменить порядок тега segue. Откройте 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

Ответ 7

Кажется, что контроллеры представлений принадлежат контроллеру панели вкладок, поэтому порядок кнопок определяет порядок, а не положение контроллеров вида на экране. Вы должны иметь возможность перетаскивать кнопки.