uiview

2010-07-27 18 views
6

का ऑटोरेसाइज UITabController में मेरे पास UIView है। और इसमें UITableView है।uiview

कॉल स्टेटस बार में टॉगलिंग करते समय यह कुछ भी नहीं करता है और दृश्य स्वचालित रूप से आकार बदल नहीं जाता है।

यह सही आकार मानता है कि ऐप शुरू होने पर UIStatusBar कॉल को टॉगल किया गया था, लेकिन अगर UIStatusBar टॉगल किया गया है, तो ऐप कुछ भी नहीं चल रहा है।

UINavigationController के साथ एक और टैब दृश्य ठीक आकार बदलने लगता है।

यहाँ कोड

 
if ([indexPath indexAtPosition:0] == 0 || [indexPath indexAtPosition:0] == 1) { 
     if (!airportChooser) { 
      airportChooser = [[AirportChooserController alloc] init]; 
      airportChooser.targetController = self; 
      airportChooser.view.autoresizesSubviews = YES; 
      airportChooser.view.autoresizingMask = UIViewAutoresizingFlexibleHeight; 
      [airportChooser.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth]; 
     } 
     airportChooser.target = [indexPath indexAtPosition:0]; 
     [self.parentViewController.parentViewController.view addSubview:airportChooser.view]; 
     self.parentViewController.parentViewController.view.autoresizesSubviews = YES; 
     self.parentViewController.parentViewController.view.contentMode = UIViewContentModeRedraw; 
     [self.parentViewController.parentViewController.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth]; 
     airportChooser.view.contentMode = UIViewContentModeRedraw; 
     //[airportChooser open]; 
    } 

उत्तर

13

आप UIView सही ढंग से आकार बदलने मुखौटा सेट किया है? आप इसे आकार टैब में Interface Builder में सेट कर सकते हैं, यह लाल रेखाएं हैं जिन्हें आप क्लिक कर सकते हैं।

तुम भी तरह कुछ का उपयोग कर कोड में सेट कर सकते हैं:

[view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | 
          UIViewAutoresizingFlexibleHeight]; 

यह भी सुनिश्चित करें superview हां में autoresizesSubviews की स्थापना की है बनाते हैं।

आप UIView documentation में इसके बारे में अधिक जानकारी प्राप्त कर सकते हैं।

+1

मैंने इन दोनों को किया है लेकिन अभी भी कोई भाग्य नहीं है अब मैं विंडो में दृश्य जोड़ रहा हूं (पुश व्यू कंट्रोलर का उपयोग करके पिछले उदाहरण को ठीक किया गया है) और से पहले वर्णित यह वही प्रभाव है, यह दृश्य जोड़ता है स्टेटस बार की स्थिति के आधार पर सही जगह पर, खोलने के बाद समायोजित नहीं होगा अगर मैं एप्लिकेशन में उप दृश्य जोड़ता हूं तो यह ठीक काम करता है लेकिन अगर मैं इसे बाद में उपयोगकर्ता इनपुट के परिणाम के रूप में जोड़ता हूं तो यह – msaspence

+0

नहीं है मालिक! आपने मुझे एक संपत्ति "autoresizesSubviews" बताकर अपना जीवन बचाया! मुझे एक समस्या का सामना करना पड़ रहा था जो प्रोग्रामिंग के उप-दृश्य बनाने के दौरान हुआ था लेकिन पर्यवेक्षण स्टोरीबोर्ड पर था। "जारीकर्ता सबव्यूज ऑटोरेसाइजिंग सेट करने के लिए कह रहे थे जो इसे सही तरीके से स्थापित करने के बाद भी मुझे बुरी तरह मार रहा था।" +1 अंगूठे ऊपर! – Prasanna

0

klaaspeiter का जवाब जबकि समझ में आता है और कुछ मामलों में मेरी विशेष मामले में यह था, क्योंकि मैं pushViewController के बजाय addSubview के साथ एक UINavigationController के दृष्टिकोण के लिए एक उप दृश्य जोड़ने था में सही जवाब हो सकता है: दृश्य एनिमेटेड: नहीं;

+0

जबकि यह समस्या के चारों ओर एक तरीका है, जब आप addSubview का उपयोग करना चाहते हैं तो यह ठीक नहीं है जैसा कि अब मैं करता हूं :( – msaspence

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