2015-07-23 15 views
7

मैं अपने खुद के दृश्य के साथ स्थिति पट्टी को कवर करने की कोशिश कर रहा हूँ और ऐसा ही कुछ करके कि मैं अपने दृश्य के लिए फ्रेम calculcate करने के लिए (रोटेशन भी के बाद):iOS9 कस्टम UIWindow के साथ कवर स्थिति पट्टी - गलत स्थिति

UIScreen *screen = [UIScreen mainScreen]; 
CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame; 

CGRect frame = [screen.coordinateSpace convertRect:statusBarFrame toCoordinateSpace:screen.fixedCoordinateSpace]; 
[self setFrame:frame]; 

iOS7 के लिए::

[self setFrame:statusBarFrame]; 

लिए iOS8 + (क्योंकि के बाद से iOS8 UIScreen orientantion पर निर्भर है)

यह आईओएस 8 और नीचे के लिए ठीक काम करता है लेकिन जब एक्सकोड 7 बीटा 4 और आईओएस 9 एसडीके के साथ अपना ऐप बनाना गलत होता है तो लैंडस्केप या अपरडाउन में ऐप शुरू करते समय कुछ गलत होता है (अगर ऐप पोर्ट्रेट में शुरू होता है तो यह ठीक काम करता है) ...

यानी। जब मैं ऐप शुरू करता हूं, तब अप्साइडडाउन कस्टम uiwindow जो स्टेटस बार को कवर करना चाहिए हमेशा स्क्रीन के निचले हिस्से में समाप्त होता है, कोई विचार गलत हो सकता है?

+0

क्या यह पता चला था? – rushelmet

+0

rushelmet, अभी तक नहीं :( – Artrmz

+0

अंतिम उत्तर देखें: http://stackoverflow.com/questions/33244580/view-above-the-status-bar/33244933#33244933 – rushelmet

उत्तर

0

अतिरिक्त जानकारी के बिना, सर्वोत्तम समाधान स्थिति बार को छिपाने के लिए सबसे अच्छा समाधान होगा। आप अभी भी एनीमेशन प्रयोजनों या किसी अन्य कारण से "स्थिति पट्टी" चाहते हैं, इस परिदृश्य में ठेठ समाधान UIScreen

पर

- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates को फोन करके यह अनुकरण और जो कुछ के लिए पृष्ठभूमि के रूप में लौट आए दृश्य का उपयोग करने के लिए है देखें/विंडो जो आप पेश कर रहे हैं। आईओएस 9 के अनुसार, कोई सार्वजनिक विधि नहीं है जो आपको निर्दिष्ट विशिष्ट व्यवहार प्राप्त करने की अनुमति देगी।

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