2015-10-01 18 views
0
@IBAction func OnRightSwipeGesture(sender: UIPanGestureRecognizer) { 
    let translated = sender.translationInView(self.view); 

    let diffTrans = (translated.y - previouslyTranslated.y)/75; 
    sum += diffTrans; 
    print(sum); 
    colorWheel.transform = CGAffineTransformMakeRotation(sum); 
    previouslyTranslated = translated; 
} 

在此函數中,我在每次調用它後都會添加翻譯差異。在我將手指從設備上拿開然後嘗試做出一個新手勢之後,總和重置爲0.總結聲明在班級的頂部,我非常困惑...一旦姿態結束,實例變量重置爲零

+0

爲什麼不ü登錄總和變量在函數的結束,也與案件'uigesturestatebegan',添加交換機的情況下'uigesturestateended' –

+0

什麼是有你'diffTrans'?如果你第二次得到負值,那麼它可以設置'sum'爲0. – Abhinav

+0

我認爲你的duffTrans返回0,因爲它返回的整數不是浮點數。將其定義爲let diffTrans =(translated.y - previouslyTranslated.y)/ 75.0; –

回答

0

您應該檢查手勢識別器的state,並且只在等於UIGestureRecognizerStateChanged時更新您的變量。