2017-01-21 2 views
0

У меня 2 UIViewController «S, завернутые в UINavigationControllerдисплей сообщение в виду, когда кнопка назад постучала

Со 2-го UIViewController, когда пользователи стучит кнопку назад, я хочу, чтобы отобразить сообщение в 1 UIViewController.

Есть ли способ захватить это событие, а затем отреагировать на UIViewController?

+1

Если вы хотите больше этого, вы должны сообщить нам, что вы уже пробовали, показывая нам какой-то код и т. Д. –

ответ

2

Правильный способ заключается в том, чтобы развернуть segue, что также является вашим шансом захватить данные со второго viewController, прежде чем он будет уничтожен. В ViewController1 добавить:

@IBAction func prepareForUnwind(_ segue: UIStoryboardSegue) { 
     if let source = segue.source as? SecondViewController { 
      //grab any data you need here and set your message up 
     } 
    } 

В вашей раскадровку Ctrl + перетащить из вашего желтого контроллера вид на оранжевый выход для создания unwindSegue и связать его с prepareForUnwind (эти значки как на верхней части контроллера зрения и в вид сверху слева). Дайте вашему segue идентификатор типа «unindSecondViewController».

В SecondViewController. В viewWillDisappear или когда вы уволите представление вручную, добавьте:

performSegue(withIdentifier: "unwindSecondViewController", sender: self) 
Смежные вопросы