iOS 偵測手機搖晃(Shake)

Henry Huang
1 min readSep 29, 2020

--

想要App在使用者搖晃手機後執行某項動作嗎?像是iOS本身的搖晃還原輸入功能,超簡單,只要覆寫兩個方法就可以達成

動作開始時執行的方法

//動作開始時要執行的動作override func motionBegan(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {//可能是Xcode的問題,寫.motionShake就可以,但一直沒跳出自動完成,所以就寫出完整的XD  if event?.subtype == UIEvent.EventSubtype.motionShake {    //TODO: 要執行的動作    print("Shake began")  }}

動作結束後執行的方法

//動作結束後要執行的動作override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {  if event?.subtype == .motionShake {    //TODO: 要執行的動作    print("Shake end")  }}

不一定兩個都要覆寫,可以只覆寫一個,就看是要開始時或者結束後執行囉!

--

--

Henry Huang
Henry Huang

Written by Henry Huang

大學讀企管/退伍後在業務圈打滾6年後突然有一天決定投入完全沒接觸過的程式設計/目前為一位iOS Developer/熱愛NBA/dafu1231@gmail.com

No responses yet