2012-03-08 15 views
17

5.1 एसडीके (रिलीज़ संस्करण) के खिलाफ मेरी iPad ऐप्लिकेशन संकलन UIPopoverController बाईं प्रस्तुति से "में स्लाइड" नए का उपयोग कर अपने आप को दिखाने के लिए कारण बनता है। यह मेरी पॉपओवर प्रेजेंटेशन को पूरी तरह से तोड़ देता है, जो "ब्लैक" स्टाइल हेडर और एक निश्चित ऊंचाई पर निर्भर था। मैंने presentsWithGesture को NO पर सेट करने का प्रयास किया है, लेकिन यह केवल स्वाइप इशारा अक्षम करने लगता है, और प्रस्तुति शैली को रोकता नहीं है।5.1 एसडीके बलों के खिलाफ संकलन नए यूआईपीओपीओवर नियंत्रक पॉपओवर की प्रस्तुति "स्लाइड इन" - कैसे अक्षम करें?

यह वही अनुप्रयोग, फिर कंपाइल किया जा रहा बिना, लेकिन आईओएस 5.1 पर चल रहा है, पुराने पॉपओवर प्रस्तुति शैली का उपयोग करता है। तो मुझे पता है कि आईओएस 5.1 अभी भी पीछे की ओर संगत विधि का समर्थन करता है। मैं पॉपओवर की पुरानी प्रस्तुति को सक्रिय करने के लिए कैसे चुन सकता हूं?

यह दुर्भाग्य से वास्तव में मेरे अनुप्रयोग के लिए महत्वपूर्ण है,।

असफल कि, वहाँ किसी भी तरह से नई R आर पर "काला" शैली हैडर प्राप्त करने के लिए है?


हालांकि मैं अपनी ऐप्लिकेशन में किसी UISplitViewController है, यह पॉपओवर दिखाने के लिए ज़िम्मेदार नहीं है। इसके बजाय, मैं इस कोड का उपयोग कर रहा:

[self.popoverController presentPopoverFromRect:ipadButtonMenu.frame 
              inView:self.view 
         permittedArrowDirections:UIPopoverArrowDirectionUp 
             animated:YES]; 

यह सवाल Apple डेवलपर मंच here से एक क्रॉस-पोस्ट है। मुझे उम्मीद है कि किसी के पास जवाब है।


उम्मीद प्रस्तुति: आईओएस 5.1 एसडीके के तहत संकलन के बाद enter image description here

प्रस्तुति: enter image description here

+0

से अधिक 'designin मेरे दोस्त कुछ पराक्रमी ठीक यूआई है! क्या आपके पास अपने निर्माण को साफ करने और खरोंच से पुनः संयोजित करने का मौका मिला है? मैं एक रडार फाइल करूंगा, क्योंकि ट्विटर एक ही समस्या के साथ उड़ रहा है जैसा आप सामना कर रहे हैं। – CodaFi

+0

हां, साफ/पुनर्निर्माण इसे प्रभावित नहीं करता है। ट्विटर पर कोई भी जो आप इसके बारे में बात कर रहे हैं? –

+0

एक संक्षिप्त सारांश: https://mobile.twitter.com/nimaa/status/156521684512415746 – CodaFi

उत्तर

5

यह परिवर्तन खराब बाहर सोचा लगता है। निश्चित रूप से, हम विस्तार से देखने में कुछ भी तोड़ते हैं जो एक स्वाइप का उपयोग करता है। बहुत बढ़िया!

, अपने 'ब्लैक वापस लाने के' सवाल का जवाब देने के लिए जो यह महज शीर्ष नेवबार रंग का सवाल है, तो आप उपस्थिति प्रॉक्सी का उपयोग कर सकते हैं। उदाहरण के लिए:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 

उपस्थिति प्रॉक्सी को विशेष रूप से आवश्यक होने पर बहुत विशेष रूप से सेट किया जा सकता है; इसमें एक कंटेनर मॉडल है। इस पर एक बहुत अच्छा डब्ल्यूडब्ल्यूडीसी वीडियो है।

सिर्फ नए संकलक के साथ पुराने व्यवहार पर वापस लौट रहा करने के लिए सम्मान के साथ

, स्पष्ट रूप से, मैं के रूप में अच्छी तरह से पता करने के लिए अच्छा लगेगा। नया व्यवहार मास्टर व्यू में एक्शन शीट भी तोड़ता है; पहले, जब मास्टर व्यू को पॉपओवर में प्रस्तुत किया गया था, तो वे सही काम करेंगे। अब, यह एक दावा विफलता है।

+0

'setTintColor' अंतिम उपाय के रूप में काम कर सकता है - इसके लिए धन्यवाद। दुर्भाग्यवश, इस ऐप के लिए पॉपओवर की ऊंचाई ('contentSizeForViewInPopover') भी बहुत महत्वपूर्ण है, और ऐसा लगता है कि वे उस व्यवहार को पूरी तरह से तोड़ चुके हैं। –

+0

पुराने व्यवहार को वापस करने के बाद से संभव नहीं लगता है, मैंने बेहतर दिखने के लिए इसे ठीक करने के लिए खुद को इस्तीफा दे दिया है। आपके उत्तर ने इसे संभव बनाया, इसलिए मैं इसे उत्तर के रूप में चिह्नित कर रहा हूं। –

+0

हाय, आईओएस 5.1 में पॉपओवर प्रभाव को पुनर्स्थापित करने के लिए आप किसी भी मौके से आए हैं? – CocoaEv

0

ठीक है, मैं एक ही मुद्दा था, इस में मदद मिल सकती है, यह काले रंग की पृष्ठभूमि है कि स्क्रीन के नीचे तक पहुँच जाता है निकालता है ....

आप के बाद से इस कॉल को अपने popoup प्रदर्शित ...

- (void)removeInnerShadow { 
    UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; 
    for (UIView *windowSubView in window.subviews) { 

      if ([NSStringFromClass([windowSubView class]) isEqualToString:@"UIDimmingView"]) { 
      for (UIView *dimmingViewSubviews in windowSubView.subviews) { 

       for (UIView *popoverSubview in dimmingViewSubviews.subviews) { 

        popoverSubview.layer.shadowOpacity=0; 
        popoverSubview.layer.masksToBounds = NO; 

        if([NSStringFromClass([popoverSubview class]) isEqualToString:@"_UIPopoverSlidingChromeView"]) 
        { 

         popoverSubview.layer.shadowOpacity=0; 
         popoverSubview.layer.masksToBounds = NO; 

        } 
       } 
      } 
     } 
    } 
} 
0

वापस करना संभव है! - एमजीएसप्लिट व्यू कंट्रोलर के साथ। यह आपको आईओएस नियंत्रण के लिए एक समान एपीआई देता है लेकिन पुराने पॉपओवर और अधिक नियंत्रण के साथ।

0

आईओएस 5 के रूप में।1

डॉक्स से

:

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

छोटे काम के आसपास here ->