2010-10-28 13 views
5

मैं अपने वीडियो प्लेयर पर पूर्ण स्क्रीन में खेल रहा हूं जब मैं एक बटन जोड़ना चाहता हूं। मैंने अपने वीडियोप्लेयर पर ओवरले बनाया और यह एक आईफोन पर बहुत अच्छी तरह से काम कर रहा है। मैंने आईपैड पर एक ही चीज़ की कोशिश की, लेकिन बटन कभी नहीं दिखाई देता।पूर्णस्क्रीन मोड (आईपैड) में MPMoviePlayer ओवरले

NSArray *windows = [[UIApplication sharedApplication] windows]; 
if ([windows count] > 1){ 
     UIWindow * moviePlayerWindow = [windows objectAtIndex:1]; 
     NSArray * subviews = [moviePlayerWindow subviews]; 
     UIView * videoView = [subviews objectAtIndex:0]; 
     [videoView addSubview:myButton]; 
} 

यह ipad dosen't की तरह तेजी पूर्ण स्क्रीन मोड के लिए एक UIWindow बनाएँ:

यहाँ मेरी कोड है।

किसी को भी यह पता है कि मैं यह कैसे कर सकता हूं?

धन्यवाद!

उत्तर

3

मैं कुछ सप्ताह पहले इस समस्या का समाधान मिल गया:

ऐसा लगता है इस विधि आईपैड पर काम नहीं करता है (मैं iPhone SDK 4 जाँच नहीं की है>) इसलिए है ताकि इसे दौर पाने के लिए आप कर सकते हैं में निम्नलिखित।

आपके वीडियो के जोड़े और आप UIWindow सीधे अपने नियंत्रण में जोड़ सकते हैं पूर्णस्क्रीन पर स्थापित करने के बाद (जैसे [[[[UIApplication sharedApplication] विंडोज़] objectAtIndex: 0] addSubView: MyView]), वे तो के शीर्ष पर दिखाई देगा अपने वीडियो वीडियो

मुझे इस समस्या के साथ एकमात्र समस्या यह है कि वे दृश्य के अभिविन्यास नियमों का पालन नहीं करते हैं और मुझे मैन्युअल रूप से दृश्य के रोटेशन कोड को रोटेशन कोड प्रोग्राम करना होगा।

+1

क्या आप समझा सकते हैं कि आपने अभिविन्यास के साथ कैसे व्यवहार किया? कुछ कोड देखने में खुशी होगी। धन्यवाद – Alex1987

+0

मैंने उसी तरह ओवरले जोड़ा। क्या आपने रोटेशन समस्या हल की? – 1110

2

@ टिगर्मैन का समाधान काम करता है।

[[[[UIApplication sharedApplication] windows] objectAtIndex:0] addSubView:myView]

लेकिन विचारों विंडो में जोड़ उन्मुखीकरण का पालन नहीं करते।

अभिविन्यास के लिए समाधान NSNotificationCenter, UIAplplicationDidChangeStatusBarOrientationNotification का उपयोग करना है।

// assign a notification 
    id center = [NSNotificationCenter defaultCenter]; 
    [center addObserver:self 
      selector:@selector(didRotate:) 
       name:UIApplicationDidChangeStatusBarOrientationNotification 
       object:nil]; 

    // this method will get called when the orientation changes 
    -(void) didRotate:(NSNotification*)notification { 

     UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 
     NSLog(@"%d", orientation); 
     // ... transform view accordingly to the enum 'UIInterfaceOrientationXXX' 
    } 
संबंधित मुद्दे