昨天的文章大家還能消化嗎
今天我們就要來說說頁面跳轉和傳值的部分咯,做好筆記我們開始吧~
1.首先我們用之前教過的同樣先建立一個btn和一個新的viewController和給它class喔,btn記得要拉約束喔!(檔案還留著的大家可以接下去做)
2.為了演示傳值的部分,我們在secondViewController新增一個label並為他拉約束
3.接下來我們對著第一個viewController按下control並拖曳到secondViewController,出現選單的時候點下show
4.接下來的部分很重要,我們要幫segue設identifier,先點擊我們剛剛設的segue,然後點右邊第4個選項,在identifier欄位為segue設名字(這邊我設segueToSecond)
5.把button拖曳進入view controller的檔案裡,拖到viewdidload下選擇action
label在secondViewController也要做同樣的動作,不同的是拖到viewdidload上選擇outlet
6.接下來我們要打開viewController的swift檔案進行跳轉部分的編寫,輸入下面的程式碼
@IBAction func segueJump(_ sender: Any) {
self.performSegue(withIdentifier: "segueToSecond", sender: self) //冒號內的是我們剛剛為segue設的名字喔
}
7.為secondViewController設一個變數去接等等會傳來的值,並讓mylabel的名字更換為傳來的字串
var textforlabel = ""
override func viewDidLoad() {
super.viewDidLoad()
MyLabel.text = textforlabel
// Do any additional setup after loading the view.
}
8.這次傳值的動作我想要讓我點下button後跳入secondViewController的同時label名字變成hello world,那我們就寫入下列程式碼
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segueToSecond" { //如果等於這個名字的話執行下列程式
let showAtSecond = segue.destination as! secondViewController //showAtSecond設給從viewController傳值到secondViewController的途徑
showAtSecond.textforlabel = "hello world" //label名字改成hello world
}
}
8.最後讓我們看一下成果吧~
那今天先到這邊告一段落,明天我會分享給大家關於怎麼跳回原本頁面的unwind segue!