【问题标题】:Increment / Decrement value on Digital Crown rotation数字表冠旋转的增量/减量值
【发布时间】:2017-04-13 05:19:07
【问题描述】:

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

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

【问题讨论】:

    标签: swift watchkit apple-watch watchos-3


    【解决方案1】:

    为了在 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 
         }
    }
    

    【讨论】:

    • 干得好....我想知道我是否使用了 WKInterfaceTable,在这种情况下,皇冠无法正常工作。
    猜你喜欢
    • 2020-03-14
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2021-06-07
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多