स्विफ्ट 3.0 और XCode 8.2.1 अपडेट
1. पुश तर्क
पुश सेग को शो सेग के रूप में नाम दिया गया है । पुश सेगमेंट बनाने के लिए, पैरेंट व्यू कंट्रोलर को नेविगेशन कंट्रोलर में एम्बेड करने की आवश्यकता होती है। नेविगेशन नियंत्रक नेविगेशन बार प्रदान करता है। एक बार जब आप पुश व्यू के साथ दो व्यू कंट्रोलर कनेक्ट करते हैं, तो चाइल्ड व्यू कंट्रोलर में स्वतः ही टॉप पर नेविगेशन बार होगा। नेविगेशन स्टैक के शीर्ष पर चाइल्ड व्यू कंट्रोलर जोड़ा जाएगा।
पुश सीग डिफ़ॉल्ट सुविधाएँ भी प्रदान करता है। चाइल्ड व्यू कंट्रोलर में एक बैक बटन होगा जो आपको पेरेंट व्यू कंट्रोलर के पास ले जाता है। आप चाइल्ड व्यू कंट्रोलर को पॉप करने के लिए राइट स्वाइप भी कर सकते हैं। पुश सीग्यू के लिए एनीमेशन क्षैतिज रूप से पृष्ठों को फिसलने जैसा है।
यद्यपि आपको एक व्यू कंट्रोलर से एक पुश सेगमेंट बनाने की अनुमति है जो नेविगेशन कंट्रोलर में नहीं है, ऐसा करने पर आप नेविगेशन बार, एनीमेशन, जेस्चर आदि जैसी सभी सुविधाओं को खो देंगे। इस मामले में, आपको पहले नेविगेशन व्यू कंट्रोलर के अंदर अपने पैरेंट व्यू कंट्रोलर को एम्बेड करना चाहिए और फिर चाइल्ड व्यू कंट्रोलर्स को पुश सेगमेंट करना चाहिए।
2. मोडल सेग
दूसरी ओर एक मोडल सेग (यानी वर्तमान में), वर्तमान दृश्य नियंत्रक पर प्रस्तुत कर रहा है। चाइल्ड व्यू कंट्रोलर नेविगेशन व्यू कंट्रोलर इनहेरिट नहीं करेगा इसलिए नेविगेशन बार तब खो जाएगा जब आप नेविगेशन कंट्रोलर के साथ व्यू कंट्रोलर से मोडल सेगमेंट पेश करेंगे। आपको फिर से नेविगेशन कंट्रोलर में चाइल्ड व्यू कंट्रोलर को एम्बेड करना होगा और यदि आप इसे वापस चाहते हैं तो एक नया नेविगेशन स्टैक शुरू करें। यदि आप मूल दृश्य नियंत्रक पर वापस जाना चाहते हैं, तो आपको इसे स्वयं लागू करना होगा और dismiss
कोड से कॉल करना होगा ।
मोडल सेग के लिए एनीमेशन यह है कि चाइल्ड व्यू कंट्रोलर पेज के नीचे से आएगा। इस डेमो में नेविगेशन व्यू कंट्रोलर भी चला गया है