Bir görünümde Gezinme Çubuğum var ve Gezinme Öğesi başlığını programla değiştirmek istiyorum.
Bu nasıl yapılır?
Yanıtlar:
ViewDidLoad
self.title = @"Title";
Gönderen Elma Belgeler :
Gezinme çubuğunu kullanmanın en yaygın yolu, gezinme denetleyicisidir. Ayrıca, uygulamanızda bağımsız bir nesne olarak bir gezinme çubuğunu da kullanabilirsiniz.
Dolayısıyla, bir UINavigationController cihazınız varsa, navigasyon çubuğunun başlığını ayarlamak için yapmanız gereken her şey (önceki tüm cevaplarda açıklandığı gibi)
self.navigationItem.title = @"title";
Ancak, UIViewController nesnesinin içinde programlı olarak oluşturulan bağımsız bir gezinme çubuğunuz varsa, uygun UINavigationItem nesnelerini oluşturarak ve bunları gezinme çubuğu nesne yığınına ekleyerek gezinme çubuğunun ilk görünümünü ayarlamanız gerekir.
Belirtilen adımlar için Objective-C Kodu örneği:
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];
Bağımsız gezinme çubuğunun Swift sürümü için bu yanıta bir göz atın .
Aşağıdaki kodu yazın, viewDidLoad
yoksa daha iyi olabilirinitWithNibName:
self.navigationItem.title = @"title";
Teşekkürler.
👇🏻 da kullanabilirsiniz
[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];
ViewDidLoad yönteminde kullanın
Biçim :
@property(nonatomic,readonly,retain) UINavigationItem *navigationItem; // Created on-demand so that a view controller may customize its navigation appearance.
Misal :
self.navigationItem.title = @"Title here";
çok önemli not: yukarıda belirtilen değişiklikleri ana görünüm Denetleyicisinin viewDidLoad yönteminde veya film şeridindeki ebeveyn gezinme çubuğunda yaptığınızdan emin olun.
Bazen başlığı güncellediğiniz ve herhangi bir etkiye neden olmadığı bir durumla karşılaşabilirsiniz, bu, özel bir görünüme sahip topItem
olduğunuzda olabilir , bu nedenle şu şekilde güncellemek isteyebilirsiniz:(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"