से प्रस्तुत नहीं हो धक्का एक कस्टम segue में नेविगेशन बार, मैं निम्नलिखित सरल संक्रमण है। हालांकि, एनीमेशन को निष्पादित करते समय, शीर्ष पर एनएवी बार में एक गड़बड़ लेआउट होता है (ऊपरी बाएं कोने में कोई भी बटन नहीं होता है, कोई शीर्षक नहीं), एनीमेशन समाप्त होने पर ही स्थान पर पॉपिंग होता है। किसी को पता है कि मैंने क्या गलत किया है और इसे कैसे ठीक किया जाए? धन्यवाद!UINavigationController के लिए कस्टम एनीमेशन सही ढंग से
उत्तर
मेरी समस्या का पता लगाया। मूल कोड वास्तव में गलत है कि UINavigationController कैसे काम करता है और UIViewControllers के साथ इंटरैक्ट करता है यह प्रबंधित करता है। (क्या मैं ओपी में किया था की तरह Annoyingly सामान पुराने अतः पदों में एक समाधान के रूप पाया जा सकता है।)
यहाँ कोड है कि (एक मामूली वक्रोक्ति साथ) मेरे लिए काम करता है:
- (void) perform {
UIViewController *src = (UIViewController *) self.sourceViewController;
UIViewController *dst = (UIViewController *) self.destinationViewController;
[UIView transitionFromView:src.view
toView:dst.view
duration:1
options:UIViewAnimationOptionTransitionFlipFromBottom
completion:nil];
[UIView transitionFromView:src.navigationItem.titleView
toView:dst.navigationItem.titleView
duration:1
options:UIViewAnimationOptionTransitionFlipFromBottom
completion:nil];
[src.navigationController pushViewController:dst animated:NO];
}
वक्रोक्ति: इस जाएगा सामग्री दृश्य से अलग से नेविबार को एनिमेट करें, इसलिए आपके पास पूरी स्क्रीन के बजाय दो टुकड़े फ़्लिपिंग हैं। मैं मूल रूप से करने की कोशिश की थी:
[UIView transitionFromView:src.navigationController.view
toView:dst.navigationController.view
लेकिन है कि क्योंकि 1) गंतव्य के navigationController संपत्ति भी अभी तक सेट नहीं है जब तक यह एक नव नियंत्रक पर धक्का दे दिया है विफल रहता है, और 2) यदि ऐसा हुआ था मैं जिक्र होगी एक ही विचार के लिए! मैं भूल गया था कि
एक नेविगेशन नियंत्रक के लिए दृश्य सिर्फ एक नेविगेशन पट्टी, एक वैकल्पिक उपकरण पट्टी, और अपने कस्टम सामग्री वाली दृश्य सहित कई अन्य विचारों, के लिए एक कंटेनर है ... की सामग्री हालांकि नेविगेशन पट्टी और उपकरण पट्टी विचारों में परिवर्तन, विचारों स्वयं करते नहीं ... नेविगेशन नियंत्रक वस्तु नेविगेशन पट्टी की सामग्री को गतिशील नेविगेशन आइटम का उपयोग कर बनाता है पर दृश्य नियंत्रकों के साथ जुड़े ( UINavigationItem वर्ग के उदाहरण) नेविगेशन ढेर। नेविगेशन बार की सामग्री को बदलने के लिए, इसलिए आपको अपने कस्टम व्यू नियंत्रकों के लिए नेविगेशन आइटम कॉन्फ़िगर करना होगा। (docs)
एक और "quibble"? मैं
[UIView transitionFromView ...
ताकि नेविगेशन नियंत्रक गंतव्य के viewDidLoad विधि के भीतर पहुंचा जा सकता था पहले
[src.navigationController pushViewController:dst animated:YES];
डाल दिया।
- 1. UINavigationController - पॉप एनीमेशन बग
- 2. अनुकूलित करें UINavigationController एनीमेशन: CATransition
- 3. सही ढंग से
- 4. सही ढंग से छोरों
- 5. NSManagedObjectContext सही ढंग से
- 6. कैसे सही ढंग से
- 7. रूबी सही ढंग से
- 8. कस्टम ConfigurationSection प्रकार सही ढंग से लोड नहीं
- 9. बाध्यकारी StringFormat सही ढंग से
- 10. कैसे सही ढंग से मेजबान के नाम
- 11. सेटअप परियोजना सही ढंग से GAC
- 12. (PHP) तहखाने कैसे सही ढंग से लागू करने के लिए()
- 13. Doxygen एक यूआरएल के लिए @link लिंक सही ढंग से
- 14. कस्टम एनीमेशन
- 15. कस्टम एनीमेशन
- 16. कस्टम एनीमेशन
- 17. टैबइंडेक्स सही ढंग से काम नहीं करता
- 18. सही ढंग से एक datatable (datatable.select)
- 19. सामान्य यूआरआई इसे सही ढंग से MakeRelativeUri
- 20. पास विधि सही ढंग से (CA1063)
- 21. WPF: सही ढंग से एक TreeViewItem
- 22. सही ढंग से सार्वजनिक पर्याय कैसे बनाएं
- 23. कैसे सही ढंग से एक सीवी :: शून्य()
- 24. MSBuildExtensionsPath32 सही ढंग से सेट नहीं है?
- 25. कैसे सही ढंग से async आपरेशन
- 26. GetHashCode को सही ढंग से कार्यान्वित करना
- 27. कमांड लाइन इनपुट कार्य सही ढंग से
- 28. बंद URLConnection और इनपुटस्ट्रीम सही ढंग से?
- 29. बैकबोन बूटस्ट्रैप संग्रह सही ढंग से
- 30. सही ढंग से कैसे निकालें FromSuperview?
क्या कोई समझा सकता है कि यह क्यों कम किया गया था? – qix
बहुत बहुत धन्यवाद! आपके कोड से छीनने में मुझे पता लगाने में मदद मिली, मैं पुश के दौरान केवल नेविगेशन बार स्विचिंग को एनिमेट कर सकता हूं, लेकिन सामग्री दृश्य स्विचिंग नहीं – Denis