2012-03-12 18 views
5

में UIWebView यूट्यूब से एप्लिकेशन रिटर्न मैं एक iOS application बना रहा हूं और मैं निम्नलिखित समस्या आई थी:आईओएस चित्र परिदृश्य

परियोजना एक portrait मोड आवेदन होने के लिए निर्धारित है। मेरे पास UIWebview है, जो इसमें youtube वीडियो वाला वेबपृष्ठ लोड करता है। जब वीडियो क्लिक किया जाता है तो यह youtube player में शुरू होता है। जब वीडियो landscape मोड में बदल जाता है और 'किया गया' क्लिक किया जाता है तो यह UIWebview पर landscape में दिखाता है।

वीडियो समाप्त होने पर मुझे NSNotification प्राप्त होता है लेकिन मैं portrait मोड को मजबूर करने में सक्षम नहीं हूं।

यह संभव नहीं होना चाहिए, मैं यूट्यूब को landscape में कैसे अनुमति दे सकता हूं लेकिन ऐप को portrait मोड में रहने के लिए मजबूर करता हूं? या क्या कोई और कामकाज है?

संपादित करें:

एप्पल के साथ संपर्क करने के बाद यह पता चला एक बग होने के लिए और सूचना है।

+1

परिदृश्य में दिखाने के लिए आपको UIWebView से यूट्यूब प्लेयर कैसे मिला? –

उत्तर

0

मुझे लगता है कि आप NSNotification उपयोग कर सकते हैं जैसा कि आप ने कहा और कहा जाता विधि में चित्र

- (void)YourMethodCalledByNSNotification 
{ 
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 

    if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationPortraitUpsideDown) 
    { 
     [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 
    } 
} 

आशा है कि मदद करता है

2
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

निजी एपीआई है को देखने के लिए मजबूर करने के लिए अब के लिए कोड की इस पंक्ति का उपयोग करें। मैं इसका इस्तेमाल करने की सिफारिश नहीं करता।

UIWindow *window = [[UIApplication sharedApplication] keyWindow]; 
    UIView *view = [window.subviews objectAtIndex:0]; 
    [view removeFromSuperview]; 
    [window insertSubview:view atIndex:0]; 

मुझे लगता है कि यह बेहतर तरीका है। यह ऐप को इसके अभिविन्यास को समायोजित करने के लिए मजबूर करता है।

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