『簡易說明Xcode』返回之前畫面的方法(由程式觸發的方式 — Unwind segue)
使用Unwind segue返回上一個畫面在之前的文章有介紹過,現在要介紹的是利用程式來觸發Unwind segue返回之前的畫面。
而這方法與之前介紹的由程式觸發Segue的方式一樣。
那這邊要介紹什麼呢?其實就是將上面兩種方式結合在一起,達到由程式觸發Unwind segue返回上一個畫面。所以一樣需要在想返回的Controller內建立Unwind segue的標記,而原先是從Object拉線到Exit,只是現在改由Controller拉到Exit,記得Segue ID一定要有。
範例說明:
建立Page1ViewController.swift與Page2ViewController.swift兩個Controller,在Storyboard上的Page1ViewController上建立一個Button,建立Segue到Page2ViewController,然後在Storyboard上的Page2ViewController建立一個Button、一個TextView與一個Label。
Step1:在Page1ViewController.swift註冊一個Unwind segue的標記Method,func name可以任意取名,而需要注意是segue:一定要是UIStoryboardSegue,不然在Exit內會找不到,
Step2:在Page2ViewController.swift的@IBAction按鍵內,判斷Text View是否有輸入,若是沒有則無法返回。
Step3:在Storyboard上,將Page2ViewController拉線到Exit。
在範例中使用來Alert顯示訊息,Alert的使用必須先產生一個AlertController,然後建立一個確認按鍵,然後將這確認的按鍵加入AlertController,之後才能顯示Alert。
所以利用由程式觸發Unwind segue,可以用來檢查使用者是否輸入正確的資訊,若不是則無法返回,這是原先不由程式觸發Unwind segue無法做到的。