У меня есть панель навигации в представлении, и я хочу программно изменить ее заголовок элемента навигации.
Как это сделать?
ios
iphone
view
uinavigationbar
Дуг Налл
источник
источник
Версия Swift 3:
Если вы используете панель навигации без контроллера навигации, вы можете попробовать следующее:
navigationBar.topItem?.title = "Your Title"
Надеюсь на помощь.
источник
В viewDidLoad
self.title = @"Title";
источник
Из документации Apple :
Итак, если у вас есть UINavigationController, все, что вам нужно сделать, чтобы установить заголовок панели навигации (как описано во всех предыдущих ответах)
self.navigationItem.title = @"title";
Но если у вас есть автономная панель навигации, которая создается программно в объекте UIViewController, вы должны установить начальный внешний вид панели навигации, создав соответствующие объекты UINavigationItem и добавив их в стек объектов панели навигации, т.е.
Пример кода Objective-C для указанных шагов:
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];
Для Swift-версии автономной панели навигации ознакомьтесь с этим ответом .
источник
Напишите приведенный ниже код
viewDidLoad
или, возможно, лучше будет подinitWithNibName:
self.navigationItem.title = @"title";
Благодарю.
источник
Вы также можете использовать 👇🏻
[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];
источник
Этот код у меня не работал
self.navigationItem.title = @"Title here";
Но это сработало.
self.title = "Title Name"
источник
В viewDidLoad вашего UIViewController
self.navigationItem.title = "The title"; //In swift 4
или же
ты можешь просто
self.title = "The title"
сделает трюк
вы также можете поместить приведенный выше оператор в делегат приложения для глобальной репликации.
источник
Используйте его в методе 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";
источник
очень важное примечание: убедитесь, что вы внесли изменения, упомянутые выше, в методе viewDidLoad контроллера родительского представления или в родительской панели навигации в раскадровке
источник
Иногда вы можете столкнуться с ситуацией, когда вы обновляете заголовок, и это не вызывает никакого эффекта, это может быть, когда у вас есть настраиваемый вид,
topItem
поэтому вы можете обновить его следующим образом:(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"
источник