iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Mobile Development

ios 的小小實驗室 2 !!系列 第 17

AVCaptureVideoPreviewLayer 2 - 掃描 QRCode - 生命週期

  • 分享至 

  • xImage
  •  

今天會介紹 生命週期裡要如何宣告

  1. viewDidLoad
    在 viewDidLoad 裡呼叫掃描 QRCode 的 function

    override func viewDidLoad() {
    	super.viewDidLoad()
    	scanQRCode()
    }
    
  2. viewWillAppear
    在 viewWillAppear 裡確定掃瞄器有開啟

    override func viewWillAppear(_ animated: Bool) {
    	super.viewWillAppear(animated)
    	captureSession?.commitConfiguration()
    	// 判斷 AVCaptureSession 的接收器是否正在執行
    	if (captureSession?.isRunning == false) {
    		captureSession?.startRunning()
    	}
    }
    
  3. viewWillDisappear
    在 viewWillDisappear 裡關閉掃瞄器,避免其在背景依舊執行掃描的動作

    override func viewWillDisappear(_ animated: Bool)
    {
    	super.viewWillDisappear(animated)
    	if (captureSession?.isRunning == true) {
    		captureSession?.stopRunning()
    	}
    }
    

明天將會繼續介紹 AVCaptureVideoPreviewLayer!拭目以待!


GitHub - AVCaptureVideoPreviewLayerDemo


上一篇
AVCaptureVideoPreviewLayer 1 - 掃描 QRCode - 設定權限、宣告變數
下一篇
AVCaptureVideoPreviewLayer 3 - 掃描 QRCode - viewLayoutMarginsDidChange
系列文
ios 的小小實驗室 2 !!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言