Уявіть, що у вашій раскадровці є послідовність переглядів:
A -> ... -> Z
Ви хочете мати кнопку перегляду, Z
яка дозволяє користувачеві пройти весь шлях назад A
.
Отже, вам потрібно зробити уявлення про те, що ви хочете створити резервне копіювання, в цьому випадку, A
метод екземпляра, який позначений як "a" IBAction
і містить один параметр типу UIStoryboardSegue *
. Назва методу та змінної значення не має. Те, що ви робите в рамках впровадження, також не має значення. Ось приклад:
Obj-C:
У A
's інтерфейс (НЕ Z
' s):
- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue;
У A
впровадженні 's (не Z
є):
- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue {
// Only "implemented" to satisfy a respondsToSelector: search.
// You can actually implement more stuff here, if you want, IE, if
// you need to reach out to a server to mention that this screen was
// returned to from a later screen.
}
Swift:
В A
джерелі (не Z
):
@IBAction func cancelSignup(unwindSegue: UIStoryboardSegue) {
// Only "implemented" to satisfy a respondsToSelector: search.
// You can actually implement more stuff here, if you want, IE, if
// you need to reach out to a server to mention that this screen was
// returned to from a later screen.
}
Тепер у межах вашої розкадровки controlперетягніть елемент із Z
(IE, кнопка скасування) на Z
s Exit
. Він просканує всі перегляди вище в ієрархії подання, які мають дію, IBAction
що приймає лише одне UIStoryboardSegue *
як дію, і перелічить їх, з яких ви можете вибрати.
Сподіваємось, це було більш прямого і корисного, ніж існуючі відповіді. Я виявив, що це посилання є особливо корисним, тому якщо є деталь, на яку ви все ще нечітко читаєте мою відповідь, можливо, це може вам допомогти (я спробував просто звести всю корисну інформацію з цієї довгої статті в коротку відповідь):
http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html