iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Mobile Development

IOS 菜菜菜鳥30天挑戰系列 第 13

IOS 菜菜菜鳥30天挑戰 Day 跳頁+頁面間傳值

  • 分享至 

  • xImage
  •  

昨天的文章大家還能消化嗎/images/emoticon/emoticon07.gif
今天我們就要來說說頁面跳轉和傳值的部分咯,做好筆記我們開始吧~


1.首先我們用之前教過的同樣先建立一個btn和一個新的viewController和給它class喔,btn記得要拉約束喔!(檔案還留著的大家可以接下去做)
https://ithelp.ithome.com.tw/upload/images/20200918/20129679FpsRvbXm9o.png

2.為了演示傳值的部分,我們在secondViewController新增一個label並為他拉約束
https://ithelp.ithome.com.tw/upload/images/20200918/20129679MorJPWZTVc.png

3.接下來我們對著第一個viewController按下control並拖曳到secondViewController,出現選單的時候點下show

4.接下來的部分很重要,我們要幫segue設identifier,先點擊我們剛剛設的segue,然後點右邊第4個選項,在identifier欄位為segue設名字(這邊我設segueToSecond)
https://ithelp.ithome.com.tw/upload/images/20200918/20129679fKEbeADt8D.png

5.把button拖曳進入view controller的檔案裡,拖到viewdidload下選擇action
label在secondViewController也要做同樣的動作,不同的是拖到viewdidload上選擇outlet
https://ithelp.ithome.com.tw/upload/images/20200918/20129679U22rXbITkP.png
https://ithelp.ithome.com.tw/upload/images/20200918/20129679xHDDdimuBz.png

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!


上一篇
IOS 菜菜菜鳥30天挑戰 Day-12 一頁viewController?兩頁viewController!
下一篇
IOS 菜菜菜鳥30天挑戰 Day-14 UnwindSegue
系列文
IOS 菜菜菜鳥30天挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言