15

सेट करना मेरे ऐप में मेरे पास UITabBarController के भीतर एक UINavigationController है। सब कुछ ठीक काम कर रहा है, हालांकि मैं नेविगेशन नियंत्रक के लिए शीर्षक निर्धारित नहीं कर सकता। मैंने कई अलग-अलग तरीकों की कोशिश की है और चारों ओर गुमराह किया है लेकिन इस समस्या के लिए कोई समाधान नहीं है।UITavigationController UITabBarController के भीतर, नेविगेशन नियंत्रक शीर्षक

किसी भी मदद की सराहना की जाएगी।

अग्रिम धन्यवाद।

सैम हर मामले के लिए

+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/2760634/cocoa-touch-setting-uinavigationcontrollers-title-doesnt-work –

+0

निश्चित रूप से आपको व्यू कंट्रोलर में दृश्य नियंत्रक का शीर्षक निर्दिष्ट करना चाहिए और फिर नेविगेशन नियंत्रक सही शीर्षक लागू होगा? – ader

+0

मैं दृश्य नियंत्रक में शीर्षक निर्दिष्ट कर रहा हूं। धन्यवाद। सैम। – shoughton123

उत्तर

38

मैं अंत में इस सवाल का जवाब मिल गया है, यह था:

self.tabBarController.navigationItem.title = @"title"; 
2
self.navigationItem.title = @"Your Title" 

काम करता है।

+1

मैंने कोशिश की है और यह काम नहीं करता है। फिर भी आपका धन्यवाद! – shoughton123

+1

यह काम करना चाहिए। यह सुनिश्चित करने के लिए जांचें कि 'self.navigationItem' शून्य नहीं लौटाता है। यदि शून्य है, तो अपने कनेक्शन की जांच करें। – Gobot

+0

यदि आप किसी xib या स्टोरीबोर्ड से लोड हो रहे हैं, तो अपने दृश्य नियंत्रक को नेविगेशन इटैम खींचने का प्रयास करें, यदि कोई –

1

मेरे लिए निम्नलिखित काम करता है ठीक:

appDelegateDidFinishLaunching: विधि में नियंत्रक आरंभ:

UINavigationController *navContr1; 
UINavigationController *navContr2; 

UIViewController *viewController1, *viewController2; 

viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil] autorelease]; 
viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease]; 



navContr1  = [[[UINavigationController alloc] initWithRootViewController:viewController1] autorelease]; 
navContr2  = [[[UINavigationController alloc] initWithRootViewController:viewController2] autorelease]; 


self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
//self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navContr1, navContr2, nil]; 

self.window.rootViewController = self.tabBarController; 
[self.window makeKeyAndVisible]; 
इस के साथ

अपने विभिन्न viewControllers initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil में किया, - विधि आप निम्न पंक्ति के साथ शीर्षक बदल सकते हैं:

self.title = @"Your Title"; 

शुभकामनाएँ।

+0

दुर्भाग्य से मैं अपने ऐप में पहले से ही गहराई से हूं इसलिए यह मैं इस सटीक विधि का उपयोग नहीं कर सकता लेकिन मेरा ' टी अलग है। हालांकि स्वयं कर रहे हैं।शीर्षक काम नहीं करता है, self.title बस टैब बार के लिए शीर्षक सेट करता है। हालांकि धन्यवाद! – shoughton123

+0

self.navigationController.title = @ "नया शीर्षक" के बारे में क्या? – pmk

0

दस्तावेज़ों में UIViewController कक्षा को देखें। UINavigationItem पर इशारा करते हुए एक संपत्ति है जिसके बाद title पर इशारा करते हुए एक संपत्ति है। यदि नेविगेशन आइटम का सूचक शून्य लौटाता है, तो आपने नियंत्रकों को सही तरीके से तार नहीं दिया होगा।

0

self.title हमेशा अपने ViewController की rootViewController वस्तु की टाइल सेट।

यदि आपके पास अपने viewController & rootViewControllerUINavigationController है, तो self.titleUINavigationController के शीर्षक सेट हो जाएगा।

इसी प्रकार, यदि आप UIViewController वस्तुओं के साथ एक UITabViewController प्रारंभ किया है, तो self.title इच्छा शीर्षक सूचकांक पर बटन इसी, UITabViewController की UITabBar पर पर लागू होता है।

इसलिए कहा गया कि self.titleviewController वाले ऑब्जेक्ट पर लागू होता है।

संबंधित मुद्दे