数字冠旋转的增量/减量值

时间:2017-04-13 05:19:08

标签: swift watchkit apple-watch watch-os-3

我能够获得数字皇冠的事件,我想降低速度,因为旋转一个小皇冠会调用多个事件。所以,我希望实现如果在任何方向上旋转大约30度,我将增加或减少该值。我怎么能这样做?

func crownDidRotate(_ crownSequencer: WKCrownSequencer?, rotationalDelta: Double) {
if value > 0 {
   myValue = myValue + 1
} else if value < 0 {
   myValue = myValue - 1
}
}

1 个答案:

答案 0 :(得分:2)

要在watchOS中实现预期效果,您需要管理额外的变量,告诉我们Digital Crown以某个特定角度旋转,例如,

let expectedMoveDelta = 0.523599 //Here, current delta value = 30° Degree, Set delta value according requirement.
var crownRotationalDelta = 0.0 

func crownDidRotate(_ crownSequencer: WKCrownSequencer?, rotationalDelta: Double) {

     crownRotationalDelta  += rotationalDelta
     if crownRotationalDelta > expectedMoveDelta { //Crown rotating in clock-wise direction 
         myValue = myValue + 1
         crownRotationalDelta = 0.0 
     } else if crownRotationalDelta < -expectedMoveDelta { //Crown rotating in anti clock-wise direction 
         myValue = myValue - 1
         crownRotationalDelta = 0.0 
     }
}