2015-08-17 2 views
7

मैं निम्नलिखित सेटअप:खोलना Segue असंतुलित कॉल में जिसके परिणामस्वरूप शुरू करने के लिए/अंत उपस्थिति संक्रमण

नव नियंत्रक -> VC1 -Push -> VC2 -PopOver या मोडल Segue -> VC3।

वीसी 3 वीसी 1 पर वापस अनचाहे है।

जब Segue VC2 से VC3 को पॉपओवर और मॉडल है, खोलना एक चेतावनी में समाप्त होता है: असंतुलित कॉल शुरू करने के लिए UIViewController के लिए/अंत उपस्थिति संक्रमण "

तो Segue कुलपति से कुलपति को धक्का है, चेतावनी चला गया है।

enter image description here किसी भी विचार चेतावनी से छुटकारा पाने के लिए कैसे या क्यों अपनी भी दिखा रहा है?

+0

अभी भी अब हो रहा है ... – DogCoffee

उत्तर

7

यह एक बग। यह ध्यान न दें (या, यदि आप एक अच्छे नागरिक बनना चाहता हूँ, एक बग रिपोर्ट फ़ाइल ऐप्पल के साथ)

0

मैं आपकी समस्या को पुन: उत्पन्न करने और समाधान ढूंढने में सक्षम था!

यह अच्छा होगा अगर अवांछित तर्क इसका ख्याल रखे। शायद यह एक बग है, शायद नहीं। किसी भी तरह से, समाधान वीसी 2 (नियंत्रक जिसमें पॉपअप है) को रिवाइंड का लक्ष्य बनाना है, फिर एनएवी नियंत्रक को पॉप अप करने से पहले इसे समाप्त होने के लिए प्रतीक्षा करें। यह सुनिश्चित करता है कि रिवाइंड (रिवर्स पॉपअप) एनीमेशन में आगे बढ़ने से पहले खत्म होने के लिए पर्याप्त समय है। एनिमेशन के साथ भी, इसे अभी भी इंतजार करना होगा या फिर आपको त्रुटि मिल जाएगी।

वीसी 2 के लिए आपका कोड निम्नानुसार होना चाहिए। (स्विफ्ट)

class VC2: UIViewController { 
    private var unwind = false 
    @IBAction func unwindToVC1(segue:UIStoryboardSegue) { 
     unwind = true 
    } 

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

     if unwind { 
      self.navigationController?.popViewControllerAnimated(false) 
     } 
    } 
} 
संबंधित मुद्दे

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