2010-08-26 10 views
6

मेरा ऐप 2 UIWindows का उपयोग करता है। पहले दिखाए गए व्यू कंट्रोलर के साथ एक टैबबार नियंत्रक है जो केवल पोर्ट्रेट उन्मुखताओं पर घूमता है। यहां तक ​​कि सबकुछ ठीक है।एकाधिक विंडोज रोटेशन समस्या - आईफोन/आईपैड

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return (UIInterfaceOrientationIsPortrait(interfaceOrientation)); 
} 

दूसरी विंडो पर मेरे पास एक UIViewController है जो सभी ओरिएंटेशन पर घूमता है।

समस्या यह है कि जब मैं दूसरी खिड़की

[secondWindow makeKeyAndVisible]; 

दिखाने और फिर पहले एक

[firstWindow makeKeyAndVisible]; 

स्थिति बार सभी दिशाओं के लिए घूमता है और घटना shouldAutorotateToInterfaceOrientation निकाल दिया नहीं है पर लौटने है। मैं समस्या को कैसे हल कर सकता हूँ?

उत्तर

4

एक ऐप में एकाधिक UIWindows होने के लिए यह ठीक है, लेकिन यहां चेतावनी यह है कि ऐप्पल का कोड आपके पास प्रत्येक UIWindow के माध्यम से जांचता है और देखता है कि शीर्षतम नियंत्रक एक निश्चित रोटेशन के लिए अनुमति देता है या नहीं। यदि इनमें से कोई भी विंडो रोटेशन की अनुमति देती है तो यूआईविंडो सामने या दृश्यमान है या नहीं, इस पर ध्यान दिए बिना आपकी स्टेटस बार घुमाएगी।

अपने स्वयं के ऐप में मैं UIWindow को छुपाता हूं जिसका उपयोग मैं नहीं कर रहा हूं, और प्रासंगिक UIViewControllers में एक हैड चेक जोड़ा गया है, यदि विंडो वर्तमान में छिपी हुई है तो रोटेशन की अनुमति न दें।

1

इसके ठीक एक एप्लिकेशन में एकाधिक UIWindows के लिए है, लेकिन चेतावनी है कि यहाँ एप्पल के कोड के माध्यम से हर आप करें और देखें कि सर्वोच्च दृश्य नियंत्रक एक निश्चित रोटेशन के लिए अनुमति देता है UIWindow जाँच करने के लिए लग रहे है।

उत्तर के अनुसार, कई परीक्षण किए और निष्कर्ष निकाला कि स्टेटस बार का घूर्णन हर खिड़की के शीर्ष-दृश्य नियंत्रक पर निर्भर करता है।

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