2009-05-01 16 views
7

से एक सबव्यूव के रूप में एक UINavigationController लोड करें I iPhone विकास में एक नयाबी हूं। मैं एक ऐप बनाना चाहता हूं जिसमें पहले UIViewController होगा, जिसमें एक बटन होगा.अब बटन पर क्लिक करने पर, यह एक यूआईनेविगेशन नियंत्रक को लोड करता है । यहाँ मैं कैसे आ हूँ है:UIViewController

  1. मैं एक UIViewController वर्ग है, जहां मैं बटन के लिए एक

    -(IBAction) PressMeFunc:(id) sender 
    

    ले लिया दबाया जा करने के लिए बनाया।

  2. तो मैं एक UIView xib file.I आईबी में आवश्यक चरणों किया बनाया।

  3. फिर AppDelegate में, मैं ViewController का उदाहरण विंडो के एक subview के रूप में जोड़ा।

इसके लिए यह ठीक है।

इसके बाद, मैं कैसे बटन दबाने पर एक navigationController लोड करूं?

मैं खिड़की आधारित ऐप्लिकेशन से एक navigationController परियोजना का निर्माण करने के लिए कैसे पता है, लेकिन मैं एक कठिन समय UIView की एक subview के रूप navigationController कर हो रहा है।

आपकी सहायता की बहुत सराहना की जाती है।

उत्तर

8

नेविगेशन नियंत्रक को इसका उपयोग होने पर स्क्रीन को लेने के लिए डिज़ाइन किया गया है, इसलिए आपको निर्णय लेना होगा कि नेविगेशन नियंत्रक को अपने मूल व्यू कंट्रोलर से संक्रमण का प्रबंधन कैसे करें। आप इसे वर्तमान मॉड्यूल व्यू कंट्रोलर के साथ कर सकते हैं, या अपने मूल दृश्य को हटाने और प्रोग्रामिंग में नेविगेशन नियंत्रक को स्वैप करके।

यहाँ प्रोग्राम के एक navigationController की स्थापना के लिए the Apple documentation है।

कोड कुछ इस तरह (एप्पल के दस्तावेज़ से) लग रहा है:

GroupsController *groupsController = [[[GroupsController alloc] initWithNibName:nil bundle:nil] autorelease]; 
UINavigationController *navigationController = 
[[UINavigationController alloc] initWithRootViewController:groupsController]; 

अब, एक बार आप navigationController बना लिया है, और यह करने के लिए अपनी पहली ViewController कहा, आप इसे पर संक्रमण करना होगा । आप ऐसा कर सकते हैं CATransitions साथ, या के साथ

[myViewController presentModalViewController: navigationController]; 
+0

धन्यवाद आपके त्वरित उत्तर के लिए चिह्नित करें। मैंने आपके द्वारा वर्णित ऐप्पल दस्तावेज़ डाउनलोड किया है। मैं इसके माध्यम से जाऊंगा और UIViewController से NavigationController लोड करने का प्रयास करूंगा, हालांकि मुझे नहीं पता कि मौजूदा मॉड्यूल व्यू कंट्रोलर क्या है। असल में मैं UIViewController में एक बटन पर क्लिक करने पर नेविगेशन नियंत्रक में एक एक्सएमएल लोड करना चाहता हूं। संबंध है, Xcodermi2 – XcoderMi2

+2

इस एप्पल के एक शर्म की बात है है, वहाँ मुद्दों जब तक आप केवल जोड़ने UINavigationController मुख्य विंडो पर है, वे कम से कम का जवाब दे और 10 के लिए डॉक्स – valexa

5

आप नहीं एक दृश्य के एक और दृश्य नियंत्रक द्वारा प्रबंधित करने के लिए एक subview के रूप में एक UIViewController के (सहित नेविगेशन) दृश्य जोड़ना चाहिए।

यहाँ एक प्रासंगिक पढ़ा है: http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/

आपके मामले में, आप क्या कर सकते खिड़की से ViewController के दृष्टिकोण को निकालते हैं, तो खिड़की के लिए नेविगेशन नियंत्रक के दृश्य जोड़ने है।

[viewController.view removeFromSuperview]; 
[window addSubview:navigationController.view]; 

तुम भी एक मॉडल दृश्य नियंत्रक के रूप में जोड़ सकते हैं, जैसा कि यहाँ सुझाव दिया गया था, या आप पहली बार देखने नियंत्रक एक नेविगेशन नियंत्रक बना सकते हैं, और कहा कि नेविगेशन नियंत्रक के ढेर पर, 2 नेविगेशन नियंत्रक धक्का:

[navigationController pushViewController:secondNavigation animated:NO]; 

संपादित करें: हे सिर्फ देखा मैं एक 09 सवाल का जवाब कर रहा हूँ

संपादित # 2: यह, iOS 5 और UIViewController रोकथाम बात वे जोड़ दिया है के लिए अप्रासंगिक हो सकता है अभी भी जांच करने के लिए एक मौका नहीं था यह बाहर, लेकिन अगर आप इस जवाब को पढ़ रहे हैं, आप चाह सकते हैं।

+2

+1 में नोट कर लें हो सकता था की एक बहुत कुछ कर रहे हैं एक '0 9 सवाल का जवाब देने के लिए! :) – Jann