2012-11-22 19 views
5

का उपयोग कर उसी केंद्र बिंदु के साथ UIImageView को घुमाएं, मैं UIImageView को घुमाने और इसे केंद्रित रखने की कोशिश कर रहा हूं। नीचे दी गई छवि में मैं घुमावदार तीर (लाल क्रॉसहेयर) केंद्र बिंदु 0 डिग्री तीर (नीले क्रॉसहेयर) के केंद्र बिंदु से मेल खाने के लिए चाहता हूं।CGAffineTransformMakeRotation

मैंने विभिन्न एंकर पॉइंट्स की कोशिश की है, लेकिन मुझे लगता है कि मैं इसे व्यवहार करने के लिए प्रतीत नहीं कर सकता।

// Rotate 
self.arrowRotatedImageView.layer.anchorPoint = CGPointMake(0.5,0.5); 
CGFloat angle = 45 * (M_PI/180); 
self.arrowRotatedImageView.transform = CGAffineTransformMakeRotation(angle); 

मुझे क्या याद आ रही है? मैं Apple docs के माध्यम से पढ़ रहा हूं लेकिन मैं इसे समझने में सक्षम नहीं हूं।

iPhone screenshot of a rotated arrow on top of a non-rotated arrow

उत्तर

6

बाहर कर देता है अजीब रोटेशन मुद्दा नई IOS 6 autolayout सुविधा से संबंधित था। एक बार जब मैंने यह समझने में कुछ समय लगा कि संरेखण बाधाओं ने कैसे काम किया था, तो मैं अपने इच्छित परिणामों को प्राप्त करने में सक्षम था।

यदि आप अजीब रोटेशन मुद्दों में भागते हैं और ऑटोओलाउट सक्षम संभावनाओं के साथ आईओएस 6 का उपयोग कर रहे हैं तो आपकी बाधाओं को समायोजन की आवश्यकता है।

कुंजी लंबवत और क्षैतिज रूप से छवि के घूर्णन के नीचे छवि के केंद्र में केंद्रित है।

+0

उत्तर के लिए धन्यवाद, वही समस्या मेरे पूरे दिन ले ली है जब तक कि मुझे आपका जवाब नहीं मिला है – dreampowder

+9

अच्छा होगा अगर आपने समस्या को हल करने के लिए बाधाओं के बारे में जो कुछ सीखा है उसे साझा किया। :) –

+2

हाँ, ditto। मैं इसमें समस्या की तलाश में था। – huggie

2

मैं एक ही समस्या में भाग गया, मैंने इसे Center X Alignment Constraint और Center Y Alignment Constraint को UIImageView पर प्रश्न में हल करके हल किया। ऐसा करने से छवि को अपने केंद्र एक्स और वाई स्थिति से दूर जाने से रोक दिया जाएगा।