मेरे पास एक व्यू कंट्रोलर है कि जब मैं एक बटन दबाता हूं तो एक बच्चे दृश्य नियंत्रक दिखाई देता है। यह पूरी तरह से काम करता है लेकिन मैं इस बच्चे के दृश्य नियंत्रक को दूसरे के लिए बदलना चाहता हूं अगर मैं इसके अंदर के बटन को दो चरण लॉगिन की तरह करता हूं। कोई विचार? मुख्य दृश्य नियंत्रक से मुझे पता है कि बच्चे को कैसे दिखाया जाता है लेकिन बच्चे से मुझे नहीं पता कि यह कैसे करना है। स्टोरीबोर्ड का उपयोग करबाल दृश्य नियंत्रक बदलें
उत्तर
, आप बना सकते हैं अपने खुद के बच्चे को segue, जैसे की जगह:
ReplaceSegue.h
@interface ReplaceSegue : UIStoryboardSegue
@end
ReplaceSegue.m
@implementation ReplaceSegue
- (void)perform
{
UIViewController *source = self.sourceViewController;
UIViewController *destination = self.destinationViewController;
UIViewController *container = source.parentViewController;
[container addChildViewController:destination];
destination.view.frame = source.view.frame;
[source willMoveToParentViewController:nil];
[container transitionFromViewController:source
toViewController:destination
duration:0.5
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
}
completion:^(BOOL finished) {
[source removeFromParentViewController];
[destination didMoveToParentViewController:container];
}];
}
@end
तब आप अपने स्टोरीबोर्ड खोल सकते हैं, अपने कंटेनर व्यू कंट्रोलर पर और कंटेनर पर कंटेनर व्यू डालें, पहले बच्चे के दृश्य से दूसरे बच्चे के दृश्य में एक कस्टम सेग्यू डालें। आप दो बच्चे दृश्यों के बीच कस्टम segue के लिए ReplaceSegue
वर्ग निर्दिष्ट करने के लिए चाहता हूँ:
ध्यान दें कि अगर आप ठीक ढंग से autolayout या दूसरे बच्चे को देखने पर स्वत: आकार बदलना का उपयोग किया है, सब कुछ ठीक काम करेंगे (विशेष रूप से ReplaceSegue
में गंतव्य नियंत्रक के दृश्य के फ्रेम की मैन्युअल सेटिंग के साथ)। लेकिन इंटरफ़ेस बिल्डर में, उस दूसरे बच्चे के दृश्य का लेआउट बिल्कुल सही नहीं दिखता है और दृश्य के उचित डिजाइन को थोड़ा अजीब बना सकता है, क्योंकि (कम से कम एक्सकोड 4.5 के रूप में) दूसरे बच्चे के लिए "सिम्युलेटेड मेट्रिक्स" दृश्य उचित आकार का एक अच्छा काम नहीं करता है। तो आप शायद "मुक्त अवस्था" से "अनुमानित" से है कि दूसरे बच्चे दृश्य की नकली मैट्रिक्स 'आकार में परिवर्तन करना चाहिए और उसके बाद मैन्युअल रूप से दूसरे बच्चे दृश्य के आकार को समायोजित:
यह बहुत ही सुंदर Xcode अनुभव नहीं है, लेकिन यह काम करता हैं। और यदि आप ऑटोलायआउट या ऑटोसाइजिंग मास्क का सही ढंग से उपयोग कर रहे हैं, तो मामूली विविधताएं बहुत अच्छी तरह से संभाली जाती हैं।
ध्यान दें कि मेट्रिक्स – esad
@esad ठीक से अनुमान लगाने के लिए एक्सकोड को मजबूर करने के लिए चाइल्ड व्यू 1 और चाइल्ड व्यू 2 के बीच एक डमी "पुश" सेग्यू जोड़ना संभव होना चाहिए। यह एक चालाक चाल है। धन्यवाद! – Rob
हे @ रोब: बहुत बहुत धन्यवाद! मैं इस सरल संक्रमण और आपके उत्तर को बनाने के लिए दो ट्यूटोरियल और ऐप्पल दस्तावेज़ीकरण का पालन कर रहा हूं, बस मुझे कुछ मिनटों में इस नेविगेशन मुद्दे को हल करने में मदद मिली ... तो क्या होगा यदि यह सुरुचिपूर्ण नहीं है? यह ब्रिलिएंट है :-) –
- 1. मैं बाल दृश्य नियंत्रक से अभिभावक दृश्य नियंत्रक के दृश्य को कैसे एक्सेस कर सकता हूं?
- 2. दृश्य नियंत्रक
- 3. नियंत्रक से यूआरएल बदलें?
- 4. एमवीसी विभिन्न नियंत्रक दृश्य
- 5. Yii नियंत्रक अनुरोधित दृश्य
- 6. वर्तमान मॉडल दृश्य नियंत्रक
- 7. जांच वर्तमान दृश्य नियंत्रक
- 8. दृश्य से नियंत्रक
- 9. का नाम बदलने/एक दृश्य नियंत्रक
- 10. कैलेंडर दृश्य शैली बदलें
- 11. जेनकींस डिफ़ॉल्ट दृश्य बदलें
- 12. डेविस नियंत्रक लेआउट कैसे बदलें?
- 13. एक्सआईबी में दृश्य का आकार कैसे बदलें?
- 14. दृश्य नियंत्रक को प्राप्त करें जो दृश्य दृश्य नियंत्रक को धक्का देता है
- 15. सूची दृश्य getListItemXmlAttributes विधि बाल प्रकाशन आइटम
- 16. एक रिलेवेटिवआउट में बाल दृश्य प्राप्त करें
- 17. एकाधिक मॉड्यूल दृश्य नियंत्रक रोशन
- 18. आईओएस एक ही दृश्य नियंत्रक
- 19. मैं कैसे एक दृश्य नियंत्रक
- 20. एक्सकोड: स्टोरीबोर्ड प्रारंभिक दृश्य नियंत्रक
- 21. दृश्य बदलें onClick coverflow एंड्रॉयड
- 22. वीडियो दृश्य का आकार बदलें
- 23. अदृश्य वापस बटन पर दृश्य नियंत्रक नेविगेशन नियंत्रक
- 24. सूची दृश्य की ऊंचाई को व्यावहारिक रूप से कैसे बदलें ..?
- 25. क्या एक प्रस्तुत दृश्य नियंत्रक भी एक प्रस्तुत दृश्य नियंत्रक हो सकता है?
- 26. ExtJS 4 किसी अन्य नियंत्रक/दृश्य से नया नियंत्रक/दृश्य कैसे बनाएं और प्रदर्शित करें?
- 27. asp.net mvc बाल क्रियाएं
- 28. रेल 3 नियंत्रक में दृश्य फ़ाइलों के डिफ़ॉल्ट पथ को कैसे बदलें?
- 29. एक विभाजित दृश्य नियंत्रक में मास्टर और विस्तार नियंत्रण नियंत्रकों का आकार बदलें?
- 30. कैसे? नियंत्रक कुछ भी नहीं/वर्तमान दृश्य
मान लें कि हम यहां कस्टम कंटेनर व्यू कंट्रोलर के बारे में बात कर रहे हैं, आप बच्चे को संक्रमण करने के लिए माता-पिता को एक विधि वापस ले सकते हैं। या आप एक कस्टम सेग्यू कर सकते हैं जो एक बच्चे नियंत्रक को प्रतिस्थापित करता है: http://stackoverflow.com/questions/14125145/ios-best-practices-for-a-one-way-navigation-controller/14125580#14125580 – Rob
धन्यवाद आपका जवाब। इसलिए मुझे माता-पिता के पास वापस जाना है और दूसरे दृश्य नियंत्रक को बच्चे के रूप में दिखाना है। लेकिन कैसे पता है कि मैं दूसरा दिखाना चाहता हूं। क्योंकि मैं बच्चे को सेगू की तरह बदलने की कोशिश करता हूं लेकिन नया दृश्य नियंत्रक सभी विंडो में दिखाई देता है जो पहले की तरह नहीं है। – Anna
ठीक है, आखिरकार मुझे कस्टम सेग्यू मिलता है जो एक बच्चे को बदल देता है। :) – Anna