これは面白そうに聞こえるかもしれませんが、UIViewといくつかのトリガーを使用して、リアルな回転でノブを再作成するのに何時間も費やしました。目標を達成しましたが、ノブが左右に回転しているかどうかがわかりません。数学の最も適切な部分はここにあります:
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{{
UITouch * touch = [touches anyObject];
CGPoint pt = [touch locationInView:self];
float dx = pt.x-iv.center.x;
float dy = pt.y-iv.center.y;
float ang = atan2(dy、dx);
//回転を行います
if(deltaAngle == 0.0){
deltaAngle = ang;
initialTransform = iv.transform;
}そうしないと
{{
float angleDif = deltaAngle-ang;
CGAffineTransform newTrans = CGAffineTransformRotate(initialTransform、-angleDif);
iv.transform = newTrans;
currentValue = [self goodDegrees:radiansToDegrees(angleDif)];
}
}
理想的には、数値を利用して、回転が正か負かを教えてくれます。