2014-09-10 23 views
14

मैंने दो वीसी के साथ सरल ऐप बनाया।
मैं बटन के माध्यम से पहले से दूसरे वीसी खोलता हूं। सेक "वर्तमान मॉड्यूल" है और संक्रमण "पार्टियन कर्ल" है। यह योजना आईओएस 7 पर ठीक काम करती है, लेकिन आईओएस 8 पर पहले वीसी का दृश्य कर्ल एनीमेशन के अंत में गायब हो जाता है: enter image description hereआईओएस 8 में मॉडल सेक के लिए आंशिक कर्ल संक्रमण 8

+0

यह अभी भी आईओएस 10 (एक्सकोड 8.3 बीटा) में मौजूद है। फ्लिप क्षैतिज में संक्रमण बदलना इससे छुटकारा पाने का मेरा तरीका था। –

उत्तर

10

मुझे एक ही समस्या है। मैंने इसे एक्सकोड 6 (बीटा 7) + आईओएस 8 (बीटा 5) में देखा। दोनों के जीएम बीज में अभी भी मौजूद है।

आईओएस 7.1 सुनिश्चित वर्णन:

यह एक "आंशिक कर्ल" और iOS 7 पर यह इस तरह के रूप में प्रदर्शित करता है (कहा जाता है जैसे आंशिक - आप अभी भी खिड़की के शीर्ष के साथ प्रारंभिक दृश्य के एक हिस्से को देख सकते हैं)। आईओएस 7 पर - जब आप इस आंशिक रूप से उजागर, "मूल" दृश्य पर टैप करते हैं, तो दृश्य मूल की पूरी विंडो पर वापस आ जाता है।

iOS 8 सुनिश्चित वर्णन:

segue नहीं मूल दिखाने के किसी भी कितने बजे है। और खिड़की/स्क्रीन पर कहीं भी, किसी भी टैप को स्वचालित दृश्य के माध्यम से मूल दृश्य देता है। यदि आपके पास दृश्य पर UITextField है, तो जब आप किसी मान को दर्ज करने के लिए उस पर टैप करते हैं ... मूल दृश्य किसी भी संबंधित UITextField विधियों को ट्रिगर किए बिना लौटाता है। कोई कीबोर्ड प्रदर्शित नहीं होता है, यह केवल मूल दृश्य से अनदेखा होता है।

ऐसा प्रतीत होता है कि मूल दृश्य के आंशिक रूप से प्रदर्शित कोने के साथ जुड़े स्पर्श परिभाषा को पूरी विंडो के रूप में गलत परिभाषित किया गया है।

बेशक, मैं आईओएस प्रोग्रामिंग के लिए बहुत नया हूं, इसलिए मेरी अंतर्दृष्टि, अगर सही है, तो मुझे यह समझने के लिए कोई संकेत नहीं मिलता है कि इसे कैसे कामयाब किया जाए! एलओएल मैं उम्मीद कर रहा हूं कि वहां से किसी को कम से कम एक उपयोगी कामकाज प्रदान करने का ज्ञान होगा।

जिम

पीएस मेरे पास वोट या टिप्पणी करने के लिए अभी तक पर्याप्त प्रतिष्ठा अंक नहीं हैं, इसलिए मेरा जवाब यह उत्तर नहीं है।

+0

"किसी भी टैप, कहीं भी" स्क्रीन के ऊपरी भाग में (मेरे मामले में - आईपैड मिनी रेटिना पर) – djdance

3

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

कीथ

+3

ऐप्पल वास्तव में (आंशिक) पृष्ठ कर्ल प्रभावों के किसी भी बहिष्करण का उल्लेख नहीं कर रहा है। तो यह मेरे लिए आईओएस 8 बग है ;-) यह वास्तव में बेकार है। बिल्कुल वही निर्माण आईओएस 7 पर पूरी तरह से काम करता है लेकिन 8 -.- – d4Rk

+1

पर नहीं, मैं इसे एक बग भी मानता हूं, लेकिन दुर्भाग्यवश यह कुछ समय के लिए और एक्सकोड के कई अपडेट के बाद भी परेशान नहीं हुआ है। तो यदि यह प्रति "बग" है, तो ऐप्पल या तो किसी भी कारण से इसे अनजान, या इसे सही करने के लिए तैयार नहीं लगता है। मुझे उत्सुकता है कि यह समस्या स्टोरीबोर्ड तक ही सीमित है या यदि मैन्युअल रूप से सेग्यू का आविष्कार करना व्यवहार को प्रदर्शित करता है। जब मुझे मौका मिलता है तो मैं इसके साथ प्रयोग करने की कोशिश करूंगा, लेकिन अगर किसी के पास पहले से ही है और पुष्टि कर सकता है ...? – quickthyme

+1

कभी नहीं। मैंने मैन्युअल रूप से आविष्कार करने की कोशिश की और स्टोरीबोर्ड के बाहर इसे बनाने की कोशिश की, जो तब तक काम नहीं करता जब तक कि आप अपना खुद का संक्रमण प्रभाव लिखने का इरादा नहीं रखते (यानी "प्रदर्शन" ओवरराइड करें)। ऐसा लगता है कि यह पहले स्थान पर डिब्बाबंद सेगू का उपयोग करने के बिंदु को हरा देता है। मुझे लगता है कि अब हमें या तो मैन्युअल रूप से इस प्रभाव को फिर से बनाना होगा, या लक्ष्य दृश्य नियंत्रक को किसी अन्य तरीके से प्रस्तुत करने के लिए ऐप को फिर से डिजाइन करना होगा। मैं इस समय एक और काम नहीं देख रहा हूं और न ही यह कोई स्पष्टीकरण है कि यह अब क्यों विफल रहता है जब यह सिर्फ आड़ू काम करता था। – quickthyme

-3

मैंने भी इस बीयूजी को दिन के लिए पीछा किया! यह पता चला है कि आप अभी भी आंशिक कर्ल का सफलतापूर्वक उपयोग कर सकते हैं; समस्या केवल तब दिखाई देती है जब एनिमेट्स बॉक्स चेक किया गया हो। एनिमेट्स बॉक्स को अन-चेक करें, और आप जाने के लिए अच्छे हैं!

+0

यदि आप ऐसा करते हैं, तो आपके पास अब कर्लिंग एनीमेशन नहीं है। तो जो पूरे बिंदु को हरा देता है। – user1427799

0

मुझे एक ही समस्या थी। स्क्रीन के शीर्ष आधे हिस्से में कहीं भी स्पर्श करके, मोडल को बंद करने (अनदेखा) का कारण बनता है। एनीमेशन बदल दिया और दुनिया फिर से शांति पर था।

तो, निश्चित रूप से आईओएस 8 में एक बग।

0

इस समस्या का सरल समाधान है।

- (void)viewDidAppear:(BOOL)animated 
{ 

    [super viewDidAppear:animated]; 

    for(UIGestureRecognizer *gesture in [self.view gestureRecognizers]) 
    { 

     if([gesture isKindOfClass:[UIGestureRecognizer class]]) 
     { 

      [self.view removeGestureRecognizer:gesture]; 

     } 

    } 

} 
0

आप एक superview है, जो, UIDismissCurlUpTapGestureRecognizer शामिल दृश्य जहां कि इशारा पहचानकर्ता को निष्क्रिय करना चाहते का खोजने की जरूरत है। मेरे मामले में exapmle के लिए:

पो self.view.superview .superview .superview .gestureRecognizers

▿ वैकल्पिक> ▿ कुछ: 2 तत्वों - [0]?? लक्ष्य = < (कार्रवाई = handleNavigationTransition :, लक्ष्य = < UINavigationInteractiveTransition 0x15826e2e0>) >> - [1]: <UIDismissCurlUpTapGestureRecognizer: 0x15838a2c0; राज्य = संभव; देखें =; लक्ष्य = < (कार्रवाई = _handleTapToDismissModalCurl :, लक्ष्य =) >>

तो मुझे लगता है कि इशारा पहचानकर्ता हटा दिया, कोड के इस हिस्से के साथ:

override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 

    if (self.view.superview?.superview?.superview != nil){ 
     if (self.view.superview!.superview!.superview!.gestureRecognizers != nil){ 
      for gestureRecognizer in self.view.superview!.superview!.superview!.gestureRecognizers!{ 
       if (gestureRecognizer.isKindOfClass(UITapGestureRecognizer)){ 
        self.view.superview!.superview!.superview!.removeGestureRecognizer(gestureRecognizer) 
       } 

      } 
     } 
    } 

} 

नोट: यह बहुत महत्वपूर्ण है, तो आप में ऐसा है कि viewDidAppear, क्योंकि दृश्य लोड चक्र में पहले इसके पर्यवेक्षकों से अवगत नहीं है।