मैं ऐप प्रतिनिधि के दृश्य से एक मोडल व्यू कंट्रोलर कैसे पेश कर सकता हूं, सबसे ज्यादा? UIView से एक मोडल व्यू कंट्रोलर पेश करने का प्रयास कर रहा है, जिसने मुझे उलझन में डाल दिया।ऐप प्रतिनिधि से वर्तमान मॉड्यूल व्यू कंट्रोलर
उत्तर
आवेदन प्रतिनिधि एक दृश्य का प्रबंधन नहीं करते हैं। आपको -application:didFinishLaunchingWithOptions:
में स्क्रीन पर रखे गए पहले दृश्य नियंत्रक की -viewDidAppear:
विधि से एक मोडल व्यू कंट्रोलर प्रस्तुत करना चाहिए।
अपने rootViewController
का उपयोग करें। आप किसी भी व्यू कंट्रोलर सबक्लास से एक मोडल व्यू कंट्रोलर पेश कर सकते हैं। अपने जड़ कुलपति एक UITabBarController है, तो आप कर सकते हैं:
[self.tabBarController presentModalViewControllerAnimated:YES]
या अगर इसकी एक नेविगेशन नियंत्रक:
[self.navigationController presentModalViewControllerAnimated:YES]
आदि
संपादित करें: MVC
तक एक दृश्य के भीतर से एक नियंत्रक पेश करने की कोशिश कर आप एमवीसी पैटर्न तोड़ रहे हैं। आम तौर पर, एक दृश्य इसकी उपस्थिति से संबंधित है और इंटरफेस को उजागर करने के लिए यूजर इंटरफेस राज्य को इसके नियंत्रक को संवाद करने के लिए है। उदाहरण के लिए, यदि आपके पास अपने दृश्य में UIButton
है और आप इसे एक मोडल व्यू कंट्रोलर प्रस्तुत करना चाहते हैं, तो आप इसे करने के लिए दृश्य को कठोर तार नहीं देते हैं। इसके बजाए, जब नियंत्रक दृश्य को तुरंत चालू करता है, तो नियंत्रक touchUpInside
क्रिया प्राप्त करने के लिए स्वयं को लक्ष्य के रूप में सेट करके बटन को कॉन्फ़िगर करता है जहां यह उपयुक्त मोडल व्यू नियंत्रक प्रस्तुत कर सकता है।
दृश्य स्वयं को (और नहीं होना चाहिए) इस प्रासंगिक ज्ञान को नियंत्रक के काम को करने के लिए नहीं करता है।
काम नहीं करता है अगर 'rootViewController' पहले से ही एक मोडल व्यू कंट्रोलर पेश कर रहा है। – Steve
सच है, यह सिर्फ एक उदाहरण था। मुझे ओपी के ऐप का पूरा तर्क नहीं पता है। उन सभी के साथ भी सहमत हैं जो उचित तकनीकों को बेहतर समझते हैं ताकि जब आप आवश्यक हो तो आप जो कर रहे हैं उसके पूर्ण ज्ञान से विचलित हो जाएं। – XJones
एक 'UIWindow'- आधारित दृष्टिकोण बोर्ड पर, हमेशा कस्टम तर्क के साथ काम करता है ... बस' UIAlertView' की तरह काम करता है। – Steve
ऐसा करने का सबसे अच्छा तरीका एक नया UIWindow
बनाना है, इसे windowLevel
संपत्ति सेट करें, और उस विंडो में अपना UIViewController
प्रस्तुत करें।
यह UIAlertView
का काम है।
इंटरफ़ेस
@interface MyAppDelegate : NSObject <UIApplicationDelegate>
@property (nonatomic, strong) UIWindow * alertWindow;
...
- (void)presentCustomAlert;
@end
कार्यान्वयन:
@implementation MyAppDelegate
@synthesize alertWindow = _alertWindow;
...
- (void)presentCustomAlert
{
if (self.alertWindow == nil)
{
CGRect screenBounds = [[UIScreen mainScreen] bounds];
UIWindow * alertWindow = [[UIWindow alloc] initWithFrame:screenBounds];
alertWindow.windowLevel = UIWindowLevelAlert;
}
SomeViewController * myAlert = [[SomeViewController alloc] init];
alertWindow.rootViewController = myAlert;
[alertWindow makeKeyAndVisible];
}
@end
एक आकर्षण की तरह काम करता है। –
शानदार सहायक उत्तर – Fattie
- 1. ऐप प्रतिनिधि से वर्तमान स्टोरीबोर्ड व्यू कंट्रोलर?
- 2. वर्तमान मॉड्यूल व्यू कंट्रोलर
- 3. वर्तमान व्यू कंट्रोलर
- 4. आईपैड व्यूविल्लएपियर और वर्तमान मॉड्यूल व्यू कंट्रोलर समस्याएं
- 5. स्टोरीबोर्ड के साथ वर्तमान मॉड्यूल व्यू कंट्रोलर का उपयोग
- 6. वर्तमान मॉड्यूल व्यू कंट्रोलर के साथ खोले गए व्यू कंट्रोलर को कैसे खारिज करें:
- 7. UIScrollView वर्तमान मॉड्यूल व्यू कंट्रोलर पर सामग्री ऑफसेट बदलता है
- 8. स्टोरीबोर्ड में वर्तमान मॉड्यूल व्यू कंट्रोलर प्रोग्रामिक रूप से आईओएस 5
- 9. पुश व्यू कंट्रोलर मोडल व्यू कंट्रोलर व्यू
- 10. एमवीसी व्यू से कंट्रोलर
- 11. स्प्लिट व्यू कंट्रोलर रूट व्यू कंट्रोलर
- 12. एनएसवी व्यू कंट्रोलर
- 13. स्टोरीबोर्ड में स्प्लिट व्यू, प्रतिनिधि
- 14. व्यू कंट्रोलर नेविगेशन बार
- 15. self.presentingViewController UITabBarController को प्रस्तुत करता है दृश्य नियंत्रक वर्तमान मॉड्यूल व्यू कंट्रोलर
- 16. वर्तमान मॉड्यूल व्यू कंट्रोलर देखें पूर्ण स्क्रीन में दृश्य प्रस्तुत नहीं करना
- 17. कस्टम कंटेनर व्यू कंट्रोलर
- 18. रूट व्यू कंट्रोलर को कैसे सेट करें
- 19. क्षैतिज फ्लिप का उपयोग कर वर्तमान फॉर्मशीट मोडल व्यू कंट्रोलर
- 20. टेबल व्यू कंट्रोलर से कई सेग्यू
- 21. मॉडल व्यू कंट्रोलर
- 22. सभी व्यू कंट्रोलर
- 23. आईओएस: पॉप व्यू कंट्रोलर
- 24. मॉडल व्यू कंट्रोलर पैराडिग्मा
- 25. व्यू कंट्रोलर एम्बेडिंग स्टोरीबोर्ड
- 26. कस्टम व्यू कंट्रोलर कंटेंटेशन
- 27. पॉपिंग व्यू कंट्रोलर
- 28. मैं व्यू कंट्रोलर को UIScrollView
- 29. एक कस्टम व्यू कंट्रोलर
- 30. शेयरकिट मोडल व्यू कंट्रोलर
मैं वास्तव में, किसी भी विचार एक UIView से एक modalViewController पेश करने के लिए कोशिश कर रहा हूँ, और शीर्ष सबसे ViewController पर इस पेश करने के लिए कोशिश कर रहा है? – adit
मॉडल दृश्य नियंत्रक केवल अन्य दृश्य नियंत्रकों द्वारा प्रस्तुत किए जा सकते हैं। उनके द्वारा प्रबंधित विचारों को अपने स्वयं के नियंत्रक का कोई ज्ञान नहीं है, अन्य दृश्य नियंत्रकों को अकेले छोड़ दें। –
हालांकि यह उत्तर ओपी की कुछ गलतफहमी को इंगित करता है, लेकिन यह वास्तव में प्रश्न का उत्तर नहीं देता है। कृपया मेरा उत्तर पुनः देखें: UIWindow – Steve