日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS9 Storyboard unwind segue反回传递事件时机详细步骤

發布時間:2023/12/9 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS9 Storyboard unwind segue反回传递事件时机详细步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  當返回上一個界面且需要上一個界面做某事時,用unwind segue實現起來比delegate簡單許多,甚至有時不適合用delegate來實現,那么我們就用unwind segue吧,而且像1->2->3這樣的跳轉,3視圖可以通過unwind segue方便的返回到1、2任意界面。下面跟著我一起做吧。

一、創建如下視圖

  我的1、2、3界面分別對應ViewController1、ViewController2、ViewController3

二、下面演示怎么從2返回到1,從3返回到1

  (1)打開需要返回到的界面ViewController1.m,加上下面方法,返回類型一定是IBAction,參數類型一定是UIStoryboardSegue,名稱隨便(這個方法一定要加,返回時調用的)

//其他界面返回到此界面調用的方法
- (IBAction)ViewController1UnwindSegue:(UIStoryboardSegue *)unwindSegue { }

  (2)右鍵2界面上方的Exit(下圖中畫綠圈的)彈出菜單中可以看到剛才在1界面中加的那個方法的名稱(下圖中紅色圈里),然后如下圖一樣連線,彈出菜單選擇manual

?

  (3)給2視圖的unwind segue取一個名字叫from2to1如下圖,等會會用到。

?

?

  (4)同理從3視圖返回到1視圖,也是右鍵3界面上方的Exit彈出菜單中可以看到剛才在1界面中加的那個方法的名稱,然后連線,彈出菜單選擇manual,給3視圖的unwind segue取一個名字叫from3to1  (5)我們給2視圖和3視圖中的“2退至1”、“3退至1”的按鈕加上事件代碼,這里就用到了給unwind segue取的名字(也就是identifier)

- (IBAction)back:(id)sender {
  //執行segue跳頁的方法[self performSegueWithIdentifier:
@"from2to1" sender:nil]; } - (IBAction)back:(id)sender {
  //執行segue跳頁的方法
  [self performSegueWithIdentifier:
@"from3to1" sender:nil];
}

  (6)再打開ViewController1.m,找到剛才加的那個方法,往里面加一些代碼,可以根據unwindSegue.identifier判斷從哪個界面退回到1的

//其他界面返回到此界面調用的方法
- (IBAction)ViewController1UnwindSegue:(UIStoryboardSegue *)unwindSegue {if ([unwindSegue.identifier isEqualToString:@"from2to1"]) {_lbShowMessage.text = @"從2退到1";} else if ([unwindSegue.identifier isEqualToString:@"from3to1"]) {_lbShowMessage.text = @"從3退到1";} }

好了,運行一下,達到了我們要的效果。

三、附加知識

  返回按鈕事件甚至可以一行代碼都不用寫,下面演示從3返回到2

  (1)打開需要返回到的界面ViewController2.m,加上下面方法,返回類型一定是IBAction,參數類型一定是UIStoryboardSegue,名稱隨便

//其他界面返回到此界面調用的方法
- (IBAction)ViewController2UnwindSegue:(UIStoryboardSegue *)unwindSegue {if ([unwindSegue.identifier isEqualToString:@"from3to2"]) {_lbShowMessage.text = @"從3退到2";} }

  (2)右鍵3界面上方的Exit彈出菜單如下圖,因為是返回到2,所以選擇2界面的那個方法然后連線,這次是連到button,這樣button事件就不用代碼寫了,給unwind segue取一個名字叫from3to2

  (3)我現在不給“3退至2”這個按鈕加事件代碼,就可以點擊它返回到2了,運行一下試試。

  結束:附上demo鏈接https://github.com/zhanglinfeng/ZLFSegueDemo

轉載于:https://www.cnblogs.com/zhanglinfeng/p/4973602.html

總結

以上是生活随笔為你收集整理的iOS9 Storyboard unwind segue反回传递事件时机详细步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。