2014-09-05 10 views
8

के बराबर मैं अभी शुरुआत प्रोग्रामर सीखने तेजी से कर रहा हूँ नहीं है। पहले पोस्ट यहाँ।त्रुटि: UIView की खिड़की अन्य दृश्य की खिड़की

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

सब कुछ ठीक काम कर रहा है और यह सिम्युलेटर में ठीक चलाता है। हालांकि, मैं मूल एनिमेशन जोड़ने की कोशिश कर रहा हूं (UIImageViews को ले जा रहा हूं) लेकिन वे प्रदर्शन नहीं कर रहे हैं। मुझे पता है कि मेरे पास एनीमेशन के लिए सही वाक्यविन्यास है क्योंकि मैंने किसी अन्य प्रोजेक्ट में कोड का परीक्षण किया था।

मुख्य सवाल
जब मैं दूसरे दृश्य नियंत्रक करने के लिए अपने मुख्य दृश्य नियंत्रक से नेविगेट, एक त्रुटि तुरंत कंसोल में प्रकट होता है। यहां बताया गया है कि यह कहता है:

2014-09-04 17: 51: 33.489 टाइलगेम [7 9 951: 95150647] UIView: 0x7f7fe9c84600; फ्रेम = (0 0; 320 568); autoresize = डब्ल्यू + एच; परत = CALayer: दृश्य की खिड़की: 0x7f7fe9c848d0 >> '0x7f7fe9dc6bc0> रों खिड़की TileGame.GameScreen के बराबर नहीं है'!

मैं इसका अर्थ समझ नहीं पा रहा हूं लेकिन यह एनीमेशन को कम करने के अलावा किसी भी समस्या का कारण नहीं लग रहा है। कोई विचार??

ऐसा लगता है कि इस व्यक्ति के पास एक ही त्रुटि संदेश था लेकिन शायद मेरे ऐप से अधिक जटिल हो। Modal viewcontroller UI not responsive after presentViewController:animated:completion:

यहाँ GitHub पर मेरी पूरी परियोजना है: https://github.com/pakalewis/Parker-Lewis-CF/tree/master/TileGame

धन्यवाद

उत्तर

26

आप iOS प्रोग्रामिंग मानदंड के कुछ मौलिक गलतफहमी है लगता है। आपके पास अपने बटन से जुड़े segues हैं, लेकिन फिर आप कोड में प्रदर्शन सेग्यू को भी कॉल करते हैं। आप एक segue एक नियंत्रण से जुड़ी है, तो आप किसी भी कोड की जरूरत नहीं है (और कोई भी नहीं होना चाहिए) segue निष्पादित करने के लिए पैदा करने के लिए। आपको पिछले दृश्य नियंत्रक पर वापस एक सीगू के साथ वापस नहीं जाना चाहिए, एक अनदेखी सेग के अलावा; आप वास्तव में वापस नहीं जा रहे हैं, आप नियंत्रक का एक नया उदाहरण बना रहे हैं जो आपको लगता है कि आप वापस जा रहे हैं। यह आपके ऐप को स्मृति से बाहर होने तक नियंत्रकों का निर्माण करेगा (क्योंकि कोई भी हटाया नहीं जाएगा)।

तो, आपको फ़ंक्शन को हटाना चाहिए, मेनब्रीन से प्ले बटन: और स्टोरीबोर्ड में इसे से छुटकारा पाएं (उस बटन से जुड़ी सीगू आपको चाहिए)।

segue आप MainScreen के लिए जा रहा है "वापस" GameScreen से हटाएँ, और यह करने के लिए backToMainScreen में कोड बदलने के लिए,

@IBAction func backToMainScreen(sender: AnyObject) { 
     self.dismissViewControllerAnimated(true, completion: nil) 
    } 
+0

कि चाल किया था। त्रुटि संदेश एक दूसरे के शीर्ष पर एकाधिक नियंत्रकों को बनाने से आया होगा। मैं सामान्य रूप से आईओएस सामान और प्रोग्रामिंग के साथ शुरुआत कर रहा हूं, इसलिए सीग्स मुझे कुछ भ्रम पैदा कर रहा है - अब बहुत अधिक समझ में आता है। जवाब देने में व़क्त लेने के लिए शुक्रिया! – paka

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