5

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

एक बटन पर क्लिक करें इस कोड को चलाया गया है।

// परिवर्तन भूल करने के लिए पासवर्ड पृष्ठ

func forgotPasswordSwitch(sender: UIButton!) { 
    //let ForgotPassword:ForgotPasswordPage = ForgotPasswordPage() 
    //self.presentViewController(ForgotPassword, animated: true, completion: nil) 
    let ForgotPassword = ForgotPasswordPage() 
    self.navigationController?.pushViewController(ForgotPassword, animated: true) 
} 
+0

धकेलने के लिए तैयार है आप ठीक कह रहे हैं - एक नेविगेशन नियंत्रक का उपयोग करने की दृष्टि नियंत्रक पुश करने के लिए सक्षम होने के लिए नए की जरूरत । चूंकि आप स्टोरीबोर्ड का उपयोग नहीं कर रहे हैं, इसलिए आपको यूआईएनएविगेशन कंट्रोलर इंस्टेंस बनाने की आवश्यकता होगी और अपने प्रारंभिक व्यू कंट्रोलर – Paulw11

+0

@ पॉलव 11 को पेश करने के लिए इसका इस्तेमाल करें, क्या आप कृपया विस्तृत कर सकते हैं? मैंने उन दोनों पेजों को घोषित किया जो मैं आगे बढ़ रहा हूं और यूनाविगेशन नियंत्रक के रूप में आगे बढ़ रहा हूं। मुझे और क्या करने की जरूरत है? – DMop

+0

आप अपने व्यू कंट्रोलर को UINavigationController उप-वर्ग होने की घोषणा नहीं करते हैं। एक UINavigationController एक कंटेनर दृश्य नियंत्रक है। आप एक बनाते हैं, अपनी सामग्री के रूप में अपना पहला व्यू कंट्रोलर असाइन करें और फिर UINavigationController प्रस्तुत करें। कक्षा संदर्भ बताता है कि यह कैसे काम करता है https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationController_Class/ – Paulw11

उत्तर

2

आप मैन्युअल रूप से वापस बार पाने के लिए एक UINavigationcontroller बनाने के लिए: टिप्पणी की कोड सफलतापूर्वक ForgotPasswordPage क्या प्रस्तुत है। बस सरणी और फिर धक्का में सभी ViewControllers आप नेविगेशन नियंत्रक के तहत होना चाहता हूँ जोड़ने

self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
var nav1 = UINavigationController() 
var mainView = ViewController() //ViewController = Name of your controller 
nav1.viewControllers = [mainView] 
self.window!.rootViewController = nav1 
self.window?.makeKeyAndVisible() 

यहाँ ऐसा करने के लिए आप this answer से कोड है, जो इस कोड का उपयोग कर इस को प्राप्त होता है उपयोग कर सकते हैं उनके बीच।

आशा है कि मदद करता है, जूलियन

+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद! मेरे पास एक लॉगिन पृष्ठ है और मैं उपयोगकर्ता को "पासवर्ड भूल गया" या "खाता पंजीकरण" बटन पर क्लिक करने की अनुमति देना चाहता हूं और उसके बाद शीर्ष पर वापस क्लिक करने और लॉगिन पृष्ठ पर जाने का विकल्प है। क्या मैं ऐसा करने के लिए इस कोड का उपयोग करूंगा? यह कोड तुरंत सरणी में सभी दृश्य नियंत्रकों का एक ढेर बनाने लगता है। तब जब मैं बटन पर क्लिक करता हूं तो मूल रूप से कोड मुझे उनके बीच धक्का नहीं देगा। – DMop

+0

आप कर सकते थे। यह सबसे अच्छा तरीका नहीं है लेकिन यह काम करेगा। इस मामले में मैं प्रोग्रामिंग रूप से एक नेविगेशन बार को नियंत्रक नहीं बनाने का सुझाव देता हूं और फिर बैक बटन दबाए जाने पर बस व्यू कंट्रोलर को खारिज कर देता हूं। इस मामले में बैक बटन तब एक 'बारबटन इटिम' होना चाहिए क्योंकि कार्रवाई दृश्य नियंत्रक को खारिज कर देती है। हालांकि कोड ठीक काम करना चाहिए। मुझे आशा है कि यह स्पष्ट था। यदि आपको और अधिक विस्तार की आवश्यकता है तो पूछने के लिए स्वतंत्र महसूस करें :-) –

+0

धन्यवाद! मैं इसे आज़मा दूंगा! – DMop

0

मुझे पता है कि कभी कभी यह काफी बेहतर प्रोग्राम के रूप में क्षुधा को विकसित कर रहा है, लेकिन कई बार हुआ है कि स्टोरीबोर्ड आप बहुत समय बचा सकते हैं कर रहे हैं। तुम बस बस इस स्थिति के लिए इसका इस्तेमाल करते हैं ...

1) में आप स्टोरीबोर्ड, आप अपने ऊपर पट्टी

में)

2 धकेलने के लिए सक्षम यह चयन करें और पाते हैं "संपादक" करना चाहते हैं दृश्य नियंत्रक स्थानीय बनाना

3) संपादक- का चयन करें> एम्बेड in-> नेविगेशन नियंत्रक

और अब आपके विचार नियंत्रक यह

+0

हम इसे इस तरह से कर रहे हैं क्योंकि यह github पर आसान सिंक हो जाता है। फिर भी आपका धन्यवाद! – DMop

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