问题描述
|
我在视图中有一个导航栏,我想以编程方式更改其导航项标题。
怎么做?
解决方法
在您的UIViewController中
self.navigationItem.title = @\"The title\";
, Swift 3版本:
如果使用不带导航控制器的导航栏,则可以尝试以下操作:
navigationBar.topItem?.title = \"Your Title\"
希望能有所帮助。
, 在viewDidLoad中
self.title = @\"Title\";
, 从Apple文档中:
使用导航栏的最常见方法是使用导航
控制器。您还可以将导航栏用作独立对象
在您的应用中。
因此,如果您有UINavigationController,则必须执行所有操作来设置导航栏的标题(如先前所有答案中所述)
self.navigationItem.title = @\"title\";
但是,如果您在UIViewController的对象内以编程方式创建了独立的导航栏,则必须通过创建适当的UINavigationItem对象并将其添加到导航栏对象堆栈中来设置导航栏的初始外观。
创建导航栏的实例(UINavigationBar)
创建导航栏项目(UINavigationItem)的实例,该实例管理要在UINavigationBar对象中显示的按钮和视图。请注意,您在此步骤设置标题。
(可选步骤)将右/左按钮(UIBarButtonItem的实例)添加到导航栏项。
上述步骤的Objective-C代码样本:
UINavigationBar* navbar = [[UINavigationBar alloc] initWithFrame:CGRectMake(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版本,请查看此答案。
, 在code5ѭ中编写以下代码,或者在initWithNibName:
以下可能会更好
self.navigationItem.title = @\"title\";
谢谢。
, 您也可以使用