我使用NSTimer通過每秒更新其定位點60次來動畫UIView。 UIView的位置根據其角度而變化,所以它總是看起來相對於設備而言... 但是,NSTimer每秒鐘不會觸發精確地爲。它總是有點偏離,造成生澀的動畫。我已經搜索了很多,我對delta時間有一些瞭解,但我不知道如何將其應用於我的情況。UIView德爾塔時間
下面是我使用的移動代碼:
float rotation = 0;
if (leftSideIsBeingHeldDown) {
rotation += (0.05f/rotationFactor);
} else if (rightSideIsBeingHeldDown) {
rotation -= (0.05f/rotationFactor);
}
movementX += -sinf(rotation);
movementY += -cosf(rotation);
float finalX = 0.0001 * movementX;
float finalY = 0.0001 * movementY;
mapView.layer.anchorPoint = CGPointMake(finalX, finalY);
mapView.transform = CGAffineTransformMakeRotation(rotation);
有誰知道如何增量時間申請呢?