Невозможно подключить раскадровку Unwind Segue

Я пытаюсь создать раскручивающийся сегмент, но при подключении ctrl + перетащить его не будет. Также, когда я нажимаю правой кнопкой мыши на значке "Выход", нет доступных параметров.

enter image description here

Любые идеи?

Ответ 1

У вас должен быть IBAction, определенный на контроллере представления, который принимает аргумент типа "UIStoryboardSegue *".

Что-то вроде этого:

@interface MyViewController
...
- (IBAction)unwindFromConfirmationForm:(UIStoryboardSegue *)segue {
}
...
@end

версия Swift 3

@IBAction func unwindToViewController(segue: UIStoryboardSegue) {

    //code

}

Предоставляется DoruChidean в fooobar.com/questions/25998/...

Ответ 2

Чтобы уточнить, чтобы связать это в раскадровке, добавив вышеописанный метод к "контроллеру представления, который вы хотите отключить", вам нужно перетащить сегмент с помощью кнопки или любого другого в вашем "контроллере", который вы хотите развернуть от "вниз" до собственного маленького зеленого значка "EXIT" в нижней панели.

Для ссылки на "- unwindFromConfirmationForm" должно быть всплывающее окно.

Как только это будет сделано, режим размотки должен работать.


Просто добавив к Трэвису отличный момент: быть предельно ясным:

Предположим, вы только что начали экспериментировать с раскадными версиями, чтобы вы (а) создали новый проект iOS7 Xcode и (б) сделали плакат с одним навигационным контроллером, а затем (c) вы создали пять или шесть контроллеров представления, Вы стремитесь быть в состоянии идти вперед и вперед между полдюжинами контроллеров просмотра, используя разматывания. {tривиально идти "вперед", управляя перетаскиванием с одной кнопки на одну, на следующую.}

Теперь, в данный момент: все шесть контроллеров представления, действительно будут классом "по умолчанию" "ViewController" . Обратите внимание, что Xcode (несколько бессмысленно) дает вам файл ViewController.h и ViewController.m.

Опять же, все шесть ваших "простых примеров" действительно используют этот файл ViewController.m в данный момент. Итак, очень просто, если вы добавите это:

-(IBAction)unwindUnused:(UIStoryboardSegue *)segue
    {
    NSLog(@"I did an unwind segway! Holy crap!");
    }

В этот один файл "заглушки" ViewController.m - на самом деле каждый из шести ваших представлений теперь "работает" , вы сможете перетащить его в печально известный маленький зеленый "Выход" ". Это легко.

Теперь просто TBC обычно в реальном проекте, вы никогда не будете использовать файл "ViewController.m" по умолчанию. Итак, перейдите сюда:

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html

и найдите точно "Создание пользовательских контроллеров просмотра", и это, конечно, объясняет этот процесс с отличной детализацией, если вы новичок.

Но опять же, если вы просто обманываете и хотите, чтобы зеленая кнопка работала для размотки, просто поместите фрагмент кода в файл заглушки ViewController.m, и вы ушли. (Помните, что в "реальной жизни" вы ставили пользовательский такой вызов на каждом из ваших пользовательских экранов - вероятно, имея дело с данными и т.д.). Надеюсь, это поможет!

Бонусный факт: обратите внимание, что кнопка "Назад" будет, во всяком случае, автоматически появляться на навигационной панели, когда вы просто так тестируете! (т.е. даже если вы не добавили метод разматывания).

Ответ 3

Вернитесь к Джону Хессу! Это быстрый 3 эквивалент

@IBAction func unwindToViewController(segue: UIStoryboardSegue) {

    //code

}

Ответ 4

Работаете ли вы с xcode6-бета-версией? в бета-версии 1-3 - это ошибка, которая препятствует обнаружению разломов разметки. в xcode6-beta4 эта ошибка исправлена.