2017-04-13 30 views
2

我能夠獲得數字皇冠的事件,並且我想要降低旋轉一個小皇冠時調用多個事件的速度。所以,我想要實現如果在任何方向上旋轉大約30度,我會增加或減少數值。我怎樣才能做到這一點?數字皇冠旋轉的增量/減量值

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

回答

2

爲了實現watchOS預期的結果,你需要管理額外的變量,告訴我們關於數字樹冠在某些特定角度的旋轉一樣,

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 
    } 
} 
+0

幹得漂亮....我不知道如果我使用WKInterfaceTable,在這種情況下,錶冠無法正常工作。 –