6

मैं लोडव्यू में प्रोग्रामिंग रूप से एक UIView बना रहा हूं। एप्लिकेशन में UITabBarController और UINavigationController है।नेविगेशन बार और टैब बार नियंत्रक मौजूद होने पर UIView फ्रेम

मैं एक दृश्य कैसे बना सकता हूं कि स्वचालित रूप से का आकार बदलता है जब टैब बार और नेविगेशन बार दोनों मौजूद होते हैं?

इस समस्या का मेरे वर्तमान दृष्टिकोण नेविगेशन और टैब बार नियंत्रक की ऊंचाई की गणना और उन्हें mainScreen की ऊंचाई से घटाकर जाता है:

float navObjectsHeight = self.tabBarController.tabBar.frame.size.height 
    + self.navigationController.navigationBar.frame.size.height; 

CGRect mainFrame = CGRectMake(0, 0, screenFrame.size.width, 
    screenFrame.size.height - navObjectsHeight); 

UIView *contentWrapper = [[UIView alloc] initWithFrame:mainFrame]; 

उत्तर

5

UIView एक संपत्ति है कि स्थिति से निपटने के है। आप इसे प्रोग्राम के उपयोग करने के लिए कोड बना रहे हैं है:

UIView *aView = [[UIView alloc] init]; 
aView.autoresizingMask = UIViewAutoresizingFlexibleHeight; 
+0

मैं जब loadView में UIViews बनाते समय तालिका विचारों प्रोग्राम के बनाने autoresizingMask साथ सफलता मिली है, लेकिन नहीं। – dianovich

+0

सुनिश्चित करें कि युक्त दृश्य के फ्रेम में अनुचित मान हैं। अगर यह काम नहीं करता है, तो मुझे लगता है कि आप अधिक जानकारी प्रदान कर सकते हैं। –

+0

मुझे लगता है कि मुझे जो समस्याएं थीं वह उस तरीके से करना था जिसमें मैं लोडव्यू में विचार शुरू कर रहा था। अक्सर [सुपर लोड व्यू] का आह्वान करना सबसे अच्छा होता है और फिर फ्रेम self.view.bounds के साथ एक रैपर दृश्य को तुरंत चालू करें। फिर ऑटोराइजिंग मास्क टैब बार नियंत्रक के लिए खाते में आकार बदल जाएगा। – dianovich

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