मेरे पास एक दृश्य में एक नेविगेशन बार है, और मैं इसके नेविगेशन आइटम शीर्षक को प्रोग्रामेटिक रूप से बदलना चाहता हूं।
यह कैसे किया जाता है?
जवाबों:
ViewDidLoad में
self.title = @"Title";
से एप्पल प्रलेखन :
नेविगेशन बार का उपयोग करने का सबसे सामान्य तरीका नेविगेशन नियंत्रक के साथ है। आप अपने ऐप में एक स्टैंडअलोन ऑब्जेक्ट के रूप में एक नेविगेशन बार का उपयोग कर सकते हैं।
इसलिए यदि आपके पास एक UINavigationController है, तो नेविगेशन बार का शीर्षक सेट करने के लिए आपको क्या करना है (जैसा कि पिछले सभी उत्तरों में बताया गया है)
self.navigationItem.title = @"title";
लेकिन यदि आपके पास एक स्टैंडअलोन नेविगेशन बार है, जो कि UIViewController के ऑब्जेक्ट के भीतर प्रोग्रामेटिक रूप से बनाया गया है, तो आपको उपयुक्त UINavigationItem ऑब्जेक्ट्स बनाकर और उन्हें नेविगेशन बार स्टैक में जोड़कर नेविगेशन बार का प्रारंभिक स्वरूप सेट करना होगा।
उल्लिखित चरणों के लिए उद्देश्य-सी कोड का नमूना:
UINavigationBar* navbar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)];
/* Create navigation item object & set the title of navigation bar. */
UINavigationItem* navItem = [[UINavigationItem alloc] initWithTitle:self.shoppingItem.name];
/* Create left button item. */
UIBarButtonItem* cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(onTapCancel:)];
navItem.leftBarButtonItem = cancelBtn;
/* Create left button item. */
UIBarButtonItem* doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onTapDone:)];
navItem.rightBarButtonItem = doneBtn;
/* Assign the navigation item to the navigation bar.*/
[navbar setItems:@[navItem]];
/* add navigation bar to the root view.*/
[self.view addSubview:navbar];
स्वसंपूर्ण नेविगेशन बार के स्विफ्ट संस्करण के लिए, इस उत्तर को देखें ।
नीचे दिए गए कोड को लिखें viewDidLoad
या बेहतर हो सकता हैinitWithNibName:
self.navigationItem.title = @"title";
धन्यवाद।
आप can का भी उपयोग कर सकते हैं
[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];
ViewDidLoad विधि में इसका उपयोग करें
प्रारूप:
@property(nonatomic,readonly,retain) UINavigationItem *navigationItem; // Created on-demand so that a view controller may customize its navigation appearance.
उदाहरण :
self.navigationItem.title = @"Title here";
बहुत महत्वपूर्ण नोट: सुनिश्चित करें कि आप उन बदलावों को करते हैं, जो माता-पिता के दृष्टिकोण में उल्लिखित हैं, नियंत्रक का दृष्टिकोण विधि, या स्टोरीबोर्ड में माता-पिता का नेविगेशन
कभी-कभी आपको ऐसा मामला मिल सकता है जहां आप शीर्षक अपडेट कर रहे हैं और इसका कोई प्रभाव नहीं हो रहा है, यह तब हो सकता है जब आपके पास एक कस्टम दृश्य topItem
हो इसलिए आप इसे इस तरह अपडेट करना चाह सकते हैं:(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"