2010-08-18 5 views
13

मैं पूर्ण स्क्रीन में UIView दिखाना चाहता हूं, लेकिन स्टेटस बार, अन्य चीजें दिखाएं, जैसे नेविगेशन बार को UIView द्वारा कवर करने की आवश्यकता है।एक UIView कैसे बनाएं जो नेविगेशन बार को कवर कर सके?

मैं यह कैसे कर सकता हूं?

उत्तर

1

एक छोटे से पूरी तरह से प्रश्न को समझने के लिए संघर्ष है, लेकिन मुझे लगता है कि कैसे आप एक UIView एक और दृश्य के ऊपर प्रदर्शित कर सकते हैं आप (ताकि नेविगेशन नियंत्रणों से दृश्य पूरी तरह से दूसरे दृश्य से छुपा है) पूछ रहे हैं?

UIViewController है:

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated 

यह भी, एक UIViewController द्वारा प्रबंधित अपने दूसरे दृश्य के लिए बुद्धिमान होगा। उदाहरण के लिए मान लीजिए कि नेविगेशन पट्टी के साथ अपने दृश्य UINavigationViewController द्वारा किया जाता है, और दृश्य प्रदर्शित करने के लिए otherViewController द्वारा किया जाता है चाहते हैं ...

[navigationViewController presentModalViewController:otherViewController animated:YES]; 
+0

मैं एक दृश्य के एक UIView है कि है, "mainUIView" कहते हैं, और एक UIView "subUIView" कहा जाता है, और मैं subUIView स्क्रीन को भरने, स्थिति पट्टी को छोड़कर चाहते हैं। – DNB5brims

+0

ठीक है, दो विकल्प - UIViewControllers का उपयोग करें और उचित/वर्तमान के रूप में प्रदर्शित करें, या subUIView को मुख्यUIView या आपके एप्लिकेशन के UIWindow के उप-दृश्य के रूप में जोड़ें (जैसा कि नीचे ईको द्वारा सुझाया गया है)। दोनों काम करेंगे, लेकिन आपके उपयोग के मामले को और समझने के बिना, मैं यह नहीं कह सकता कि कौन सा बेहतर/अधिक उपयुक्त है। – dannywartnaby

2

एक के रूप में सीधे अपने मुख्य UIWindow उदाहरण के लिए दृश्य जोड़े subview।

61

मुझे विश्वास है कि वह क्या पूछ रहा था कि यूआईवीव को पूरी स्क्रीन को कवर करने के लिए कैसे किया गया था (कस्टम पॉप अप की तरह)। यह ठीक है कि मैं यहाँ कैसे समाप्त हुआ। तो मैं अपना समाधान पेश करूंगा। कहीं भी इस समारोह को बुलाओ।

[self.navigationController.view addSubview:yourUIView]; 

यहाँ दृश्य आपको कवर पूरे स्क्रीन पर

[self.view addSubview:yourUIView]; 

जिससे नेविगेशन पट्टी का पर्दाफाश किया है के विपरीत की शुरुआत की।

+0

धन्यवाद बाइट..इसने मेरी मदद की..मैं नेविगेशन में दृश्य जोड़ने की कोशिश कर रहा था नेविगेशन नियंत्रक .. यह उपयोगकर्ता इंटरैक्शन की अनुमति नहीं देता .. लेकिन जब मैंने आपके जैसा उल्लेख किया, तो यह अपेक्षित काम करता है .. – Krishnan

+0

यह था मेरे लिए वास्तव में सहायक है। क्या एनीमेशन जोड़ना संभव है। एक सिल्डिंग डाउन एनीमेशन की तरह –

+0

@ श्री जी बस 'yourUIView' के फ्रेम को ऑफ़सेट करें और 'UIView' विधि' + (शून्य) एनिमेट करेंथिथेशन: (एनएसटीइम इंटरवल) अवधि एनिमेशन: (शून्य (^) (शून्य)) एनिमेशन – Byte

0

मुझे पता है कि ओपी नेविगेशन बार को पूरी तरह से कवर करने के लिए एक रास्ता तलाश रहा था, लेकिन इसे कवर करने के बजाय, आप इसे अस्थायी रूप से छुपा सकते थे। एक बार छुपाए जाने पर, आप एक उपव्यू के रूप में दृश्य जोड़ सकते हैं और इसकी फ्रेम या बाधाओं को बदल सकते हैं ताकि यह पूरी स्क्रीन ले सके।

- (void)showViewOverNavBar:(UIView *)view { 

    [self.navigationController setNavigationBarHidden:YES]; 
    [self.view addSubview:view]; 
}