2009-08-29 10 views
19

में UIView घुमाएं मैंने अन्य लोगों को देखा है जिनके पास यह सवाल है, लेकिन अधिकांश प्रतिक्रियाएं आईफोन ओएस के नवीनतम 3.0 निर्माण पर काम नहीं कर रही हैं। वैसे भी, मैं सोच रहा हूं कि मैं एक्सेलेरोमीटर से किसी भी इनपुट के बिना प्रोग्रामिव रूप से UIView को घुमा सकता हूं। कोड जो मैंने पाया है:कोको टच

CGAffineTransform transform = CGAffineTransformMakeRotation(3.14159/2); 
view.transform = transform; 
CGRect contentRect = CGRectMake(-80, 80, 480, 320); 
view.bounds = contentRect; 

हालांकि, यह UIView (मेरे परीक्षण में) के लिए काम नहीं करता है। क्या इस/अन्य कोड को काम करने के लिए मुझे कुछ ऐपडिलेगेट करना है, या क्या एक ही काम करने का एक बेहतर तरीका है?

किसी भी मदद के लिए धन्यवाद!

उत्तर

40

यह मेरे लिए काम करता है

CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_2); 
self.view.transform = transform; 

// Repositions and resizes the view. 
CGRect contentRect = CGRectMake(0,0, 480, 320); 
self.view.bounds = contentRect; 
+14

3.14159 –

+32

के बजाय M_PI का उपयोग करें और M_PI/2 के बजाय M_PI_2 का उपयोग करें – Allyn

1

मैं उस के साथ सफलता मिली:

CATransform3D rotationTransform = CATransform3DIdentity; 
[view.layer removeAllAnimations]; 
rotationTransform = CATransform3DRotate(rotationTransform, angle, 0.0, 0.0, 1); 
view.layer.transform = rotationTransform; 
+0

हाय मार्को: उपरोक्त कोड में, "कोण" क्या होगा? – PF1

+1

इसके अतिरिक्त, यह क्वार्ट्जकोर फ्रेमवर्क आयात करने के बावजूद निर्माण करने में सक्षम नहीं लगता है। – PF1

+0

कोण रेडियंट्स में कोण है दृश्य दृश्य घुमाया जाएगा। यह अन्य त्रुटियों के कारण शायद निर्माण नहीं करेगा। बिल्ड लॉग क्या कहता है? – Marco

0

सुनिश्चित नहीं हैं कि इस निजी एपीआई माना जाता है अगर, ताकि आप इसे उपयोग करने के लिए नहीं चाहते हैं, लेकिन अगर आप चाहते हैं डिवाइस झुकाव के बिना परिवर्तन के उन्मुखीकरण के लिए मजबूर करने के लिए, आप कॉल करने का प्रयास कर सकते हैं:

[[UIDevice currentDevice] performSelector:@selector(setOrientation:) 
         withObject:(id)UIInterfaceOrientationLandscapeLeft]; 

मैं परीक्षण नहीं किया है कि यह अभी भी 3.1.2 पर काम करता है। हालांकि मुझे पता है कि यह 3.0 पर काम करता है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^