gpt4 book ai didi

ios - 如何在手机快速晃动时计算时间?

转载 作者:可可西里 更新时间:2023-11-01 01:49:04 24 4
gpt4 key购买 nike

如何在手机快速抖动时计算时间? 想要测量手机震动的时间。

var timer = Timer()
var timeLeft = 0

override func motionBegan(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
if(motion == .motionShake){
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(onTimerFires), userInfo: nil, repeats: true)
}
}
override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
if(motion != .motionShake){
print("MotionEnded")
timer.invalidate()
}
}

计时器在不停地工作。抖动停止时如何停止定时器...

最佳答案

要测量摇动开始时间结束时间之间的timeInterval,使用

var startDate: Date?

override func motionBegan(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
if(motion == .motionShake){
self.startDate = Date()
}
}

override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
if(motion != .motionShake){
if let startDate = self.startDate {
let timeInterval = Date().timeIntervalSince(startDate)
print(timeInterval)
}
}
}

在上面的代码中,我存储了 Date 实例,motion 开始motion 结束 timeInterval 是使用当前日期存储日期 计算的。

关于ios - 如何在手机快速晃动时计算时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56289603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com