यह मजाकिया लग सकता है, लेकिन मैंने UIView और कुछ ट्रिग का उपयोग करके यथार्थवादी रोटेशन के साथ घुटने को फिर से बनाने की कोशिश करने में घंटों बिताए। मैंने लक्ष्य हासिल किया, लेकिन अब मैं यह नहीं जान सकता कि कैसे घुटने बाएं या दाएं घूर्णन कर रहा है। गणित का सबसे उचित हिस्सा यहाँ है:छूने पर 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); //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)]; } }
आदर्श, मैं एक अंकीय मान का लाभ उठाने सकता है मुझे बताने की अगर रोटेशन सकारात्मक या नकारात्मक है।