2011-12-14 13 views
77

मैं मैन्युअल रूप से आदेश में निम्न कोड पंक्ति के साथ स्टोरीबोर्ड उन का उपयोग कर Xcode 4.2 में एक लॉगिन प्रपत्र प्रदर्शित करने के लिए एक segue (मोडल के रूप में स्थापित) लागू कर रहा हूँ के माध्यम से प्रदर्शित समापन शायद मैं वास्तव में कुछ आसान याद कर रहा हूं, हालांकि मुझे प्रोग्राम दृश्य रूप से लॉगिन दृश्य को बंद करने और पिछले दृश्य पर वापस जाने का कोई तरीका नहीं मिल रहा है।एक दृश्य के एक मॉडल segue

दृश्य नेविगेशन व्यू कंट्रोलर का हिस्सा है, इसलिए सेग्यू प्रकार को "पुश" पर सेट करने से मुझे पिछली स्क्रीन पर वापस भेजने के लिए बैक बटन का उपयोग करने की अनुमति मिलती है, लेकिन "मोडल" मोड में, मैं नहीं हूं पूरी तरह से सुनिश्चित करें कि यह कैसे प्राप्त करें (उदाहरण के लिए बटन प्रेस के बाद)

किसी भी मदद की बहुत सराहना की जाएगी।

+0

xcode एक IDE केवल है, बीमार संपादित इस –

उत्तर

172

अपने तैनाती लक्ष्य आईओएस 5.0 या बाद है, तो इस संदेश का उपयोग करें:

[self dismissViewControllerAnimated:YES completion:nil]; 

या स्विफ्ट में:

self.dismissViewControllerAnimated(true, completion: nil) 

अपने तैनाती लक्ष्य पुराना है, इस (बहिष्कृत) संदेश का उपयोग करें:

[self dismissModalViewControllerAnimated:YES]; 
+0

धन्यवाद रोब, मैं यह पहले से ही करने की कोशिश की और यह नहीं करता है कुछ भी करने के लिए प्रतीत होता है। क्या इसमें कोई विशेष परिस्थितियां हैं? – Nick

+1

मैंने स्टोरीबोर्ड में दो वीसी के साथ एक मामूली परीक्षण केस बनाया। प्रारंभिक वीसी में दूसरे वीसी के लिए एक मोडल सेग्यू वाला "मॉडल" बटन होता है। दूसरे वीसी में एक विधि को "डिसमिस" बटन दिया गया है जो '[स्वयं को खारिज करता है मॉड्यूल व्यू कंट्रोलरएनिटेड: हाँ] '। यह उम्मीद के रूप में काम करता है। मुझे किसी विशेष परिस्थिति के बारे में पता नहीं है। –

+0

मैं सिर्फ यह इंगित करना चाहता हूं कि मैंने इस मुद्दे को हल किया है। स्टोरीबोर्ड पर नए होने के नाते, मैंने अपने सेग्यू प्रकार को एक उदाहरण के लिए मोडल सेट नहीं किया था, इसलिए यह उपयोगकर्ता त्रुटि थी! धन्यवाद। – Nick

4

निम्नलिखित ठीक काम करना चाहिए ...

[self dismissModalViewControllerAnimated:YES]; 

मैं बिना किसी समस्या के अपने latest tutorial here में लॉगिन पेज के साथ ऐसा करता हूं।

+1

अब आईओएस 7: में बहिष्कृत करें DemiewViewController का उपयोग करें एनिमेटेड: पूर्णता: इसके बजाय। –

13

[self dismissViewControllerAnimated:YES completion:nil]; IOS5 में एक नया तरीका

3

निम्नलिखित कोड तेजी से 3 में काम करता है:

self.dismiss(animated: true, completion: nil) 
संबंधित मुद्दे