bu biraz kulağa hoş gelebilir, ancak UIView ve bazı trig kullanarak gerçekçi bir rotasyonla bir topuzu yeniden oluşturmaya çalışırken saatlerimi harcadım. Amaca ulaştım ama şimdi düğmenin sola veya sağa dönüp dönmediğini anlayamıyorum. matematik en uygun bölümü buradadır:UIView'nin döndürme yönünü döndürürMoved
- (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); //do the rotation if (deltaAngle == 0.0) { deltaAngle = ang; initialTransform = iv.transform; }else { float angleDif = deltaAngle - ang; CGAffineTransform newTrans = CGAffineTransformRotate(initialTransform, -angleDif); iv.transform = newTrans; currentValue = [self goodDegrees:radiansToDegrees(angleDif)]; } }
ideal i rotasyon pozitif veya negatif olup olmadığını söylemek için sayısal bir değer kaldıraç olabilir.