iOS-Swift5.1-用代碼動態實現頁面跳轉(performSegue)的用法

iOS裏面實現頁面跳轉有兩種方法:

1.好比當用戶按下按鈕時須要跳轉頁面,那就在storyboard上control拖拽該按鈕到須要跳轉到的頁面便可。bash

這個很容易理解,不贅述。閉包

2.有些時候,好比:這個按鈕是動態生成的(用代碼建立的),或者用戶搖手機時須要跳轉頁面,或者用戶作了必定的交互操做後須要跳轉頁面,等等。ide

這個時候就沒辦法用第一種方法了。spa

咱們須要動態跳轉,也就是用代碼寫。3d

動態跳轉(performSegue)的用法:

1.在storyboard上control拖拽當前頁面(下圖左)的黃色圓圈,拖到想跳轉的頁面,並按項目需求選擇一個跳轉方式(好比:show)code

2.選中segue(下圖藍色箭頭),在右邊attributes inspector面板給他取個名字,好比這裏的「showDetail」

3.回到當前頁面的代碼區域,在須要跳轉的地方用以下代碼便可:

performSegue(withIdentifier: "showDetail", sender: nil)
複製代碼

解釋:

1.performSegue是全部viewcontroller都有的方法,因此能夠直接寫,固然在閉包裏須要加self。orm

2.若是想在跳轉的時候傳值,能夠使用sender參數。cdn

在iOS中,全部的segue(包括頁面跳轉,頁面嵌入等)在跳轉或嵌入以前都會先觸發viewcontroller的這個方法:視頻

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        
}
複製代碼

因此在performSegue裏面的sender就會被傳到這裏的sender來,咱們就能夠在頁面跳轉以前作一些操做了,從而達到傳值的目的。blog

注:sender能夠是任何東西。

例子:

我這裏就單純的傳了個String演示一下,現實開發中你們可根據實際需求使用 sender

 

廣告時間:

你們若是正好想學iOS開發的話,能夠來看看小弟的iOS視頻教程(永久更新+售後輔導): m.cctalk.com/inst/s9vfhe…

相關文章
相關標籤/搜索