2013-09-27 6 views
9

में मैं अपने आवेदन में बाएं तरफ मेनू को लागू करने में दिलचस्पी रखता हूं मैंने इसके लिए एनवीएसलाइडमेनू कंट्रोलर का उपयोग किया है। और यह ठीक काम करता है।स्लाइडिंग स्टेटस बार के साथ स्लाइडिंग साइड मेनू को भी कार्यान्वित करना चाहते हैं। आईओएस

लेकिन मैं इसे संशोधित करना चाहता हूं। मैं ContentViewController के साथ स्टेटस बार स्लाइड करना चाहता हूं और MenuViewController पर स्टेटस बार नहीं चाहता हूं।

वर्तमान में ऐसा लगता है कि छवि के नीचे

enter image description here

दिखेगा और मैं छवि के नीचे के रूप में ही करना चाहते हैं

enter image description here

अग्रिम धन्यवाद

+1

स्थिति पट्टी बढ़ते "चले गए" प्रभाव में हो सकता है करता है, लेकिन केवल कुछ हेरफेर के माध्यम से। [यह एसओ पोस्ट] देखें (http://stackoverflow.com/a/19011013/2740693) –

+1

[आईओएस 7 में मूविंग स्टेटस बार] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/19007694/moving-status- बार-इन-आईओएस -7) – codercat

उत्तर

11

आप, तो आप उस स्थिति बार को अद्यतन नहीं किया नोटिस करेंगे।

यह में एक नई एपीआई की तरह लगता है दूसरी छवि पर अपने 3 जी बंद करने के लिए कोशिश कर सकते हैं iOS7

[[UIScreen mainScreen] snapshotViewAfterScreenUpdates:NO]; 

यह वही प्रश्न हो सकता है जो आप पूछते हैं, और आप जो चाहते हैं उसे दिखाने के लिए एक डेमो हैं।

Moving status bar in iOS 7

1

आप के लिए नहीं जा रहे हैं स्टेटस बार को स्थानांतरित करने में सक्षम हो।

- (void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    if (animated) 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 
    } 
    else 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:YES]; 
    } 
} 

- (void) viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 

    if (animated) 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide]; 
    } 
    else 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:NO]; 
    } 
} 

क्या सबसे अच्छा लग रहा है देखने के लिए UIStatusBarAnimation के विभिन्न मूल्यों के साथ चारों ओर खेलने की कोशिश: सबसे अच्छा तुम कर सकते हो उस दृश्य नियंत्रक के लिए इसे छिपाने है। तीन मान हैं: UIStatusBarAnimationNone, UIStatusBarAnimationFade, और UIStatusBarAnimationSlide`।

+0

क्या आपने मेलबॉक्स एप्लिकेशन देखा था जिसमें बाएं मेनू खोलते समय स्टेटस बार फिसल रहा है। और मुझे वही चीजें चाहिए। – Pratik

+0

UIAplplication पर एक संपत्ति है जिसे स्टेटसबैरफ़्रेम कहा जाता है ([[यूआईएपीप्लिकेशन साझा अनुप्रयोग] .स्टैटसबारफ्रेम)। आप इसे एक सीजी छवि संदर्भ में प्रस्तुत करने और उस छवि के साथ एक छवि दृश्य बनाने का प्रयास कर सकते हैं, फिर स्टेटस बार छुपाएं और छवि दृश्य को स्थानांतरित कर सकते हैं।वह स्टेटस बार चलने "नकली" होगा, लेकिन यह गतिशील सामग्री प्रदर्शित नहीं करेगा। – paulrehkugler

+0

या आप हिटटेस्ट को आजमा सकते हैं:-स्टेटस बार के दृश्य को देखने का प्रयास करने के लिए। ऐसा कुछ ऐसा है जो ऐप्पल शायद आपको नहीं करना चाहता, इसलिए यह मुश्किल होगा। – paulrehkugler

2

आप keyWindow के फ्रेम चेनिंग द्वारा ऐसा करने के लिए सक्षम हो सकते हैं (आप के साथ [[UIApplication sharedApplication] keyWindow] (UIWindowUIView का एक उपवर्ग है इस प्राप्त कर सकते हैं)। यह सब कुछ सही बढ़ना चाहिए, और आप लाने के लिए एक और UIWindow बनाने के लिए आवश्यकता हो सकती है बाएँ से पर अन्य सामान।

0

यह एक जवाब बल्कि इसलिए टिप्पणी पर स्वरूपण टूट जाता है जेम्स के जवाब के लिए एक जवाब नहीं है।

तथ्य यह है कि कुंजीविंडो के फ्रेम को सेट करने से स्टेटस बार को स्थानांतरित नहीं किया जा सकेगा। ब्रेक पॉइंट सेट करके और कुंजीविंडो रिकर्सिव विवरण को प्रिंट करके, हम देखेंगे कि अंदर कोई स्टेटस बार जानकारी नहीं है।

(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription] 
<UIWindow: 0x8c5bf80; frame = (0 0; 320 480); gestureRecognizers = <NSArray: 0x8c5c500>; layer = <UIWindowLayer: 0x8c5c0a0>> 
    | <UIView: 0x8b49700; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x8b496b0>> 
(lldb) 

पालन Chris's लिंक Simon's का जवाब काम

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