Я только что установил Xcode 4.5 для поддержки iOS6, и я увидел новый значок под названием «Выход» в моей раскадровке, указанный под моими контроллерами представления вместе с «Первым ответчиком» и т. Д. Маленький зеленый значок с надписью «Выход».
Я ничего не могу найти на нем и понять, как его можно использовать.
Кто-нибудь что-нибудь знает об этом, как это работает, для чего?
iphone
objective-c
xcode
ipad
storyboard
Джош Кахане
источник
источник
Ответы:
Это называется « Переход на расслабление ». К сожалению, для этого пока нет документации, кроме краткого упоминания о списке новых функций XCode 4.5, в котором говорится:
Хорошей новостью является то, что на WWDC 2012 есть сеанс, объясняющий этих существ (среди прочего).
Вы можете просто войти в Apple iOS Dev Center, указав данные своей учетной записи разработчика, а затем перейти на страницу видеороликов WWDC 2012 и посмотреть «Внедрение раскадровки в вашем приложении» (пятое сверху). Обсуждение сегментов раскрутки начинается в 37:20 .
Обновление: вот дополнительная информация по этому вопросу из документации Apple.
(Из документации iOS6> Общие> Начало работы)
А вот хороший пример того, как вы можете реализовать один
Еще одно обновление:
Вот техническое примечание от Apple по этой теме.
источник
exit
кнопке, выбрав метод, который вы хотите вызвать. Вы можете найти здесь пример (я также обновил свой ответ, включив в него пример)Представьте, что у вас есть последовательность представлений в раскадровке:
A -> ... -> Z
Вы хотите, чтобы на экране была кнопка,
Z
которая позволяет пользователю полностью вернуться кA
.Итак, что вам нужно сделать, так это предоставить представление, которое вы хотите полностью вернуть, в данном случае
A
, методу экземпляра, который помечен как aIBAction
и принимает один параметр типаUIStoryboardSegue *
. Имя метода и переменная значения не имеют. То, что вы делаете в рамках реализации, тоже не имеет значения. Вот пример:Obj-C: Интерфейс
In
A
(неZ
):В
A
реализации (а не вZ
):: Swift
В
A
's источник (неZ
' s):Теперь, в раскадровку, controlперетащите элемент на
Z
к (IE, кнопка отмены)Z
«сExit
. Он просканирует все представления, расположенные выше в иерархии представлений, которые имеютIBAction
элемент, который принимает только одноUIStoryboardSegue *
действие в качестве действия, и перечислит их, чтобы вы могли выбрать из них.Надеюсь, это было более прямым и полезным, чем существующие ответы. Я обнаружил, что эта ссылка была особенно полезной, поэтому, если есть какая-то деталь, которую вы все еще не знаете после прочтения моего ответа, возможно, это поможет вам (я попытался просто сжать всю полезную информацию из этой длинной статьи в короткий ответ): http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html
источник
См. Также Cannot Connect Storyboard Unwind Segue, в котором разъясняются требования для оживления значка выхода. У вас должен быть выше в иерархии контроллеров представления метод, который:
Помечено как IBAction
Принимает один параметр, который является UIStoryboardSegue *
Если оба этих условия соблюдены, значок выхода увидит его и позволит вам подключиться к нему, перетаскивая его с помощью кнопки в том же контроллере представления.
Я также разместил здесь самый простой пример в мире:
https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/ch19p638presentViewControllerStoryboard (исправлено 12 июля 2013 г.)
Это показывает, насколько тривиально легко теперь переходить к представленному контроллеру представления и обратно , в отличие от всей работы, которую вам приходилось выполнять ранее, чтобы передавать информацию туда и обратно (материал в шаблоне с делегатом и протоколом , все из которых теперь можно удалить).
источник
Просто добавьте небольшую тонкость в определение требований, что может помочь. Это основано на экспериментах в Xcode 4.6. Я обнаружил, что именно и только объявление (!) Метода позволяет получить желаемый ответ на перетаскивание элемента управления из Xcode. Вот что я нашел полными требованиями:
IBAction
UIStoryboardSegue
*.M
реализации])..M
, кроме класса appdelegate. (Я не видел никакой зависимости от его положения в иерархии контроллеров. Вы можете добавить любой старый файл, и система, похоже, объединяет все методы, у которых естьUIStoryboardSegue
параметр, и отображает их в меню значка выхода.) Обратите внимание, что перетаскивание с помощью элемента управления menu даже покажет вам ваш метод, если метод находится в классе сцены, которую вы манипулируете в редакторе раскадровки, но будет отображаться без двоеточия и, похоже, не запускает никаких действий во время выполнения.Пример:
-(IBAction)anymethodname:(UIStoryboardSegue *)myvariable;
источник