iOS 偵測手機搖晃(Shake)
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") }}
不一定兩個都要覆寫,可以只覆寫一個,就看是要開始時或者結束後執行囉!