2010-10-27 8 views
8

के बिना UITableViewController में UINavigationBar जोड़ें, मेरे पास एक मौजूदा UITableViewController है जिसका पहले उपयोग UINavigationController में किया जा रहा था।UINavigationCarroller

मुझे इसे एक मॉडल दृश्य के रूप में प्रस्तुत करने की आवश्यकता है। हालांकि, मैं अभी भी शीर्ष पर एक नेविगेशन बार चाहते हैं। मुझे पता है कि यह अजीब लगता है- अगर मैं यूआईएनएवीबार चाहता हूं तो इसे यूनाविगेशन नियंत्रक में क्यों न पेश करें? मैं इसे UITabBarController के बिना प्रस्तुत करना चाहता हूं जो मेरे UINavigationController से जुड़ा हुआ है।

मैंने XIB खोलने का प्रयास किया, एक नया दृश्य जोड़कर, UITableView को एक सबव्यूव के रूप में स्थानांतरित करने और उस नए दृश्य में नेविगेशनबार जोड़ने के लिए भी प्रयास किया। हालांकि यह कोई प्रभाव नहीं लग रहा है और पूरा टेबलव्यू अभी भी प्रस्तुत किया गया है - कोई भी एनवी बार दिखाई नहीं दे रहा है। मुझे लगता है कि ऐसा इसलिए है क्योंकि कक्षा UITableViewController का उप-वर्ग है।

क्या मुझे इसे UIViewClass में परिवर्तित करने की आवश्यकता है? क्या कोड में या इंटरफ़ेस बिल्डर के माध्यम से एक मौजूदा UITableViewController में navbar जोड़ने के लिए कोई अच्छा तरीका है?

इस दृष्टिकोण के बारे में किसी भी सलाह के लिए धन्यवाद।

उत्तर

15

क्या आपने फ़ाइल के मालिक दृश्य के लिए XIB में कनेक्शन बदल दिया था? यह आपके बाहरी दृश्य को इंगित करना चाहिए जिसमें नेविबार और टेबलव्यू दोनों शामिल हैं।

लेकिन मुझे यकीन नहीं है कि मैं समझता हूं कि आप नेविगेशन नियंत्रक का उपयोग क्यों नहीं करना चाहते हैं। बस इस कार्य करें:

MyViewController *viewController = [[[MyViewController alloc] init] autorelease]; 
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease]; 
[self presentModalViewController:navController animated:YES]; 

मैं यह सब समय है जब एक मॉडल दृश्य पेश करते हैं - यह ध्यान में रखते हुए सीधे एक नेवबार सहित से क्लीनर लगता है।

+0

धन्यवाद। यह मेरे लिए एक माथे स्लैपर का थोड़ा सा था। सही समझ में आता है। – Nick

+0

अगर मैं कर सकता तो मैं इस जवाब को 10 बार ऊपर उठाऊंगा। – Alyoshak