2010-07-02 13 views
9

मैं अपनी स्क्रीन (एक दृश्य नियंत्रक के स्वामित्व वाले) में बच्चों के दृश्यों में से एक नहीं घुमाने जब डिवाइस घूमता है करने के लिए कोशिश कर रहा हूँ। मेरा व्यू कंट्रोलर घूर्णन की अनुमति देता है जैसा कि इसे करना चाहिए, और मैं कुल घूर्णन का सामना करने के लिए एक "स्थिर" दृश्य में 90 डिग्री रोटेशन लागू करने की कोशिश कर रहा हूं।एक UIView या इसकी परत में रोटेशन रूपांतरण सेट करना प्रतीत नहीं होता है?

समस्या है, सब कुछ वैसे भी बारी बारी से करने लगता है, और The बदलने कुछ भी करने को नहीं लगता है। मैंने दृश्य पर एक एफ़िन ट्रांसफॉर्म के साथ प्रयास किया है, और परत (नीचे) पर 3 डी ट्रांसफॉर्म के साथ। विधि को बुलाया जा रहा है, लेकिन मुझे कभी दृश्य अंतर दिखाई नहीं देता है।

किसी भी विचार? धन्यवाद।

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration 
{ 
    CALayer *layer = stuckview.layer; 
    layer.transform = CATransform3DMakeRotation(90, 0, 0, 1); 
}  

उत्तर

26

अन्य लोगों को इस खोजने में मदद करने के लिए, मैं एक जोड़े को खोजने योग्य वाक्यांशों जोड़ रहा है, जैसे:

घूर्णन से एक UIView रोकने

घूर्णन से एक UITableView पृष्ठभूमि को रोकने के एक UIView रोटेशन को रोकने

एक UITableView पृष्ठभूमि रोटेशन को रोकें


,210

किसी भी उन्मुखीकरण के लिए एक पूर्ण नमूना:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
    { 
     switch (toInterfaceOrientation) { 
      case UIInterfaceOrientationLandscapeLeft: 
       stuckview.transform = CGAffineTransformMakeRotation(M_PI_2); // 90 degress 
       break; 
      case UIInterfaceOrientationLandscapeRight: 
       stuckview.transform = CGAffineTransformMakeRotation(M_PI + M_PI_2); // 270 degrees 
       break; 
      case UIInterfaceOrientationPortraitUpsideDown: 
       stuckview.transform = CGAffineTransformMakeRotation(M_PI); // 180 degrees 
       break; 
      default: 
       stuckview.transform = CGAffineTransformMakeRotation(0.0); 
       break; 
     } 
    } 
+0

मैं जाँच करें और पाते हैं कि UIInterfaceOrientationPortraitUpsideDown ios 6. –

+0

में stuckview एक CALAyer या एक UIView काम नहीं कर रहा है? –

+0

@AdamWaite - एक UIView, जैसा कि नाम और विवरण से संकेत मिलता है! ;-) – nekno

4

क्या आपका कोड वास्तव में निष्पादित है? (आप shouldAutorotateToInterfaceOrientation लागू है:?)

stuckview.transform = CGAffineTransformMakeRotation(M_PI_2); 

काम करना चाहिए।

नोट: फ़ंक्शन रेडियंस को डिग्री नहीं लेते हैं।

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