मैं एक स्टोरीबोर्ड आधारित आईफोन ऐप लिख रहा हूं और राज्य बहाली पर काम कर रहा हूं। आमतौर पर segues प्रदर्शन करते समय, मैं उन्हें एनिमेट करना चाहता हूं, लेकिन जब मैं नेविगेशन पदानुक्रम के कई स्तरों को बहाल कर रहा हूं, तो मैं केवल आखिरी सीगू को एनिमेट करना चाहता हूं। सेग के दो सेट सेट करने के अलावा- एक सेट जो सामान्य पुश सेग्यू का उपयोग करता है, और दूसरा जो एक कस्टम गैर-एनिमेटिंग पुश सेग्यू का उपयोग करता है-क्या मैं ऐसा करने का प्रयास कर रहा हूं?एनीमेशन के बिना पुश segue
उत्तर
एप्लिकेशन के सीगू या स्टोरीबोर्ड से स्वतंत्र रूप से व्यू कंट्रोलर स्टैक में हेरफेर करना संभव है।
आप इस तकनीक का उपयोग दृश्य नियंत्रकों के गहरे ढेर को पुनर्स्थापित करने के लिए कर सकते हैं, और शीर्ष दृश्य नियंत्रक को केवल एक ही सीगू को निष्पादित/एनिमेट कर सकते हैं। (आपको इस उद्देश्य के लिए एक विशिष्ट पुश सेगू बनाने की आवश्यकता होगी।)
उदाहरण के लिए, दो व्यू कंट्रोलर स्टैक को पुनर्स्थापित करने के लिए, आप निम्न कार्य कर सकते हैं। इस उदाहरण में, यह माना जाता है कि मौजूदा दृश्य नियंत्रक पर कुछ क्रियाएं राज्य पुनर्स्थापना की ओर ले जाती हैं, लेकिन आप इसे अपने ऐप प्रतिनिधि से आसानी से निष्पादित कर सकते हैं।
[self performSegueWithIdentifier:@"Page2Express" sender:self];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Page2Express"])
{
// Get any state data you need to from Core Data
CoreDataType *valuePulledFromCoreData = // ...
// Set up the page 2 view controller as you normally would
Page2ViewController *page2ViewController = segue.destinationViewController;
page2ViewController.instanceVariable = valuePulledFromCoreData;
// Create a loose, page 1 view controller and set it up as required
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
Page1ViewController *page1ViewController = [storyboard instantiateViewControllerWithIdentifier:@"Page1ViewController"]; // Ensure you have this identifier set up in your storyboard
page1ViewController.instanceVariable = valuePulledFromCoreData;
// Add the page 1 view controller to the top of the navigation stack (to be later obscured in the segue by the page 2 view controller)
NSMutableArray *viewControllers = [[self navigationController].viewControllers mutableCopy];
[viewControllers addObject:page1ViewController];
[self navigationController].viewControllers = viewControllers;
}
}
यदि, इसके बजाय, आप कोई एनिमेशन नहीं करना पसंद करते हैं, तो यह अभी भी आसान है। आप - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
और - (void)applicationWillEnterForeground:(UIApplication *)application
से व्यू कंट्रोलर स्टैक (और किसी भी सेग का उपयोग किए बिना) को मैनिपुलेट करके पूरी तरह से राज्य को पुनर्स्थापित कर सकते हैं।
किसी भी तरह से निर्बाध रूप से काम करेगा और आपके मौजूदा स्टोरीबोर्ड और सीगों के साथ मिलकर काम करेगा।
- 1. UITableViewCells एक segue
- 2. ट्रिगर नियंत्रण के बिना ViewControllers के बीच Segue?
- 3. इतिहास के बिना पुश मर्कुरियल विलय शाखा
- 4. एक दृश्य के एक मॉडल segue
- 5. कस्टम व्यू नियंत्रक कस्टम segue
- 6. एनीमेशन के बिना पहले उत्तरदाता बनें
- 7. एक पुश segue से स्टोरीबोर्ड के साथ एक नियंत्रक नियंत्रक कैसे खारिज कर दिया?
- 8. ios segue "अभी नहीं"
- 9. आईओएस 5 segue कार्यान्वयन
- 10. UITableView सूची segue
- 11. एनीमेशन UIScrollView एनीमेशन के बाद एनीमेशन
- 12. आईओएस पुश स्टाइल सेग्यू संक्रमण
- 13. आईओएस: लॉगिन सफलता के लिए segue प्रतीक्षा करें
- 14. jQuery एनीमेशन स्लाइड लिफ्ट बिना टेक्स्ट रैपिंग
- 15. जीसीएम के बिना एंड्रॉइड पुश संदेश संभव है?
- 16. UIBarButtonItem + popover segue कई popovers
- 17. MapView कॉलआउट से segue का उपयोग करनाAccessoryControlTapped
- 18. एंड्रॉइड सूची देखें एनीमेशन के बिना डिफ़ॉल्ट स्थिति सेट करें
- 19. uitableview संपादन मोड के दौरान segue को छोड़ दें
- 20. एनीमेशन
- 21. बटन कनेक्शन के बिना प्रोग्रामिंग सेग्यू प्रदर्शन करें?
- 22. पुश
- 23. पुश
- 24. Segue कॉलिंग नहीं कॉल करने के लिए ForSegue
- 25. बचें UIBarButtonItem बाहर/फीका pushViewController एनीमेशन
- 26. पुश
- 27. कोर एनीमेशन एनीमेशन ट्रैकिंग
- 28. एंड्रॉइड अल्फा एनीमेशन: एनीमेशन
- 29. डब्ल्यूपीएफ एनीमेशन: स्टोरीबोर्ड एनीमेशन के "टू" विशेषता के लिए बाध्यकारी
- 30. नेविगेशन बार बटन आइटम segue शैली के बाद लापता "बदलें"
बस ब्याज से बाहर, क्या कोई कारण है कि आप 'pushViewController: एनिमेटेड: 'का उपयोग करने के बजाय' viewControllers 'सरणी में हेरफेर करते हैं? –
'pushViewController: एनिमेटेड:' न केवल स्टैक पर व्यू कंट्रोलर जोड़ता है - यह दृश्य नियंत्रक को दिखाने के लिए दृश्य को भी रीफ्रेश करता है। इस मामले में, हम 'पेज 1 व्यू कंट्रोलर' को भी संक्षेप में नहीं देखना चाहते हैं, इसलिए हमें इसे सीधे ढेर में जोड़ना होगा। –