iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 2
0
Software Development

挑戰 30天內送審一支APP 系列 第 2

UIViewController Lifecycle (D day + 1)

UIViewcontroller lifecycle 分別包含了:
“LoadView” 、“viewDidLoad” 、“viewWillAppear” 、
“viewDidAppear” 、“viewWillDisappear” 、“viewDidDisappear”
https://ithelp.ithome.com.tw/upload/images/20171221/20107698oWu4o0Y92S.png

LoadView:

載入view,通常不用多做處理。

override func loadView() {
        super.loadView()
        print("Load View")
    }

viewDidLoad:

view被載入完成,這階段可自行定義view的各項參數。

override func viewDidLoad() {
        super. viewDidLoad()
        print("viewDidLoad")
    }

viewWillAppear:

view將要被推送到前台,意即將會顯示在螢幕上。

 override func viewWillAppear() {
        super.viewWillAppear()
        print("viewWillAppear")
    }

viewDidAppear:

view已經出現在螢幕上。

override func viewDidAppear() {
        super.viewDidAppear()
        print("viewDidAppear")
    }

viewWillDisappear:

view將要消失。

override func viewWillDisappear() {
        super.viewWillDisappear()
        print("viewWillDisappear")
    }

viewDidDisappear:

view已經在螢幕消失(退到後台)。

override func viewDidDisappear() {
        super.viewDidDisappear()
        print("viewDidDisappear")
    }

##範例##

Load Page 1
https://ithelp.ithome.com.tw/upload/images/20171221/201076988FiBeOO1ue.png
當page1被載入一直到view被顯示在螢幕前,依序會顯示四種狀態。

Move to Page 2
https://ithelp.ithome.com.tw/upload/images/20171221/20107698up66BtDkMI.png
點擊page1 中 ”Move to page 2”切換到subview時,依序出現 “viewWillDisappear”、”viewDidDisappear”。

Back to Page 1
https://ithelp.ithome.com.tw/upload/images/20171221/20107698NFxBtaHcup.png
點擊page2 中”Back to Page1”回到UIViewcontroller時, 又重新載入而顯示於螢幕。


上一篇
不一定會成為鐵人的鐵人賽 D day
下一篇
兩種不同的宣告 : class 與 struct (D day + 2)
系列文
挑戰 30天內送審一支APP 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言