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

Переупорядочение контроллеров просмотра в UITabBarController, все они определены в раскадровке

Я бы хотел изменить порядок контроллеров представлений, прикрепленных к UITabBarController, в моей раскадровке, не отключая все контроллеры представлений и повторно подключая их в нужном порядке.

Мой вопрос: Можно ли это сделать только через интерфейс раскадровки IB?

Обсуждение

Я ищу некоторую панель инспектора, где я могу перемещать элементы вверх и вниз в этом списке контроллеров представлений, который передает свойство viewControllers в UITabBarController.

several view controllers linked to tab bar controller

У меня много вкладок, поэтому я надеюсь, что не придется отключать все и снова подключаться, просто чтобы изменить порядок.

Я даже попытался изменить значение тега на элементе Bar в инспекторе, но это значение также было проигнорировано во время выполнения (я считаю, что оно предназначено для идентификации, а не для заказа).

Tag set on Bar Item

4b9b3361

Ответ 1

enter image description here

вы можете просто перетащить и направить их с помощью мыши в раскадровку. он по-прежнему работает в версии 4.5.1

ИЗМЕНИТЬ

Возможно, вам нужно перенести представление раскадровки в "Исходный код" и вернуться назад, прежде чем вы сможете перетащить. щелкните правой кнопкой мыши файл раскадровки и выберите "Открыть как" → "Исходный код", а затем снова "Открыть как" → "Конструктор интерфейсов - раскадровка iOS". это должно сделать трюк.

ИЗМЕНИТЬ

Больше не работает в Xcode 4.5.2!

ИЗМЕНИТЬ

В Xcode 5 preview 5 он работает снова. Кажется, Apple исправила эту ошибку в новом verion

enter image description here

Ответ 2

Если drag-n-drop не работает, возникает другое обходное решение. В Storyboard я просто удалил все отношения с UITabBarController и переподключил их в правильном порядке.

Ответ 3

XCode 4.5.1

Не эмпирический ответ, но у меня была такая же проблема.

Я открыл раскадровку как исходный код, переупорядочил

Затем открыли раскадровку в качестве Interface Builder - iOS Storyboard

Ничего не изменилось... но

Затем я мог бы перетащить вкладки

Ответ 4

У меня была такая же проблема. Если я поместил новый контроллер просмотра или новый контроллер навигации в раскадровку, перетаскивание не работало в контроллере панели вкладок. Я закрыл и снова открыл Xcode, и перетащить назад снова удался.

Ответ 5

У меня была эта проблема в Xcode 4.6.3, но я только что открыл способ изменить порядок моих вкладок. Не уверен, что это относится ко всем, но в меню навигации в левой части раскадровки, если я разворачиваю TabBarController, он показывает элемент Tab Bar. Как только я нажму на панель вкладок, я тогда смогу перетащить значки вкладок в построителе интерфейса так, как я ожидал бы.

Ответ 6

Вы можете изменить порядок, перейдя в исходный код и найдите сцену и отредактируйте источник. Вы можете найти строку вкладок и добавить код. (щелкните правой кнопкой мыши на раскадровке в навигаторе проекта и выберите "Открыть как... Исходный код" ). Затем вернитесь в "Ракурс" (щелкните правой кнопкой мыши по раскадровке в навигаторе проекта и выберите "Открыть как...". "Интерфейс Builder-IOS" Раскадровка)

Ответ 7

После добавления нового контроллера представлений Xcode 4.6.2 не позволит мне переупорядочивать вкладки. Просто щелкнув по одному из моих файлов исходного кода, затем щелкнув по файлу раскадровки, этот трюк и я могу снова изменить порядок вкладок.