【问题标题】:Display title for view in back button but not in navigation bar在后退按钮中显示视图标题,但不在导航栏中
【发布时间】:2011-11-29 23:47:11
【问题描述】:
我想将视图的标题设置为“主菜单”,但是我不希望标题出现在导航工具栏中。我想设置标题的原因是后退按钮的标题为“主菜单”。有没有办法做到这一点?以下是相关代码:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = @"Main Menu";
// Custom initialization
}
return self;
}
【问题讨论】:
标签:
objective-c
cocoa-touch
uiviewcontroller
ios5
uinavigationbar
【解决方案1】:
要设置返回按钮项的标题,你应该在viewDidLoad方法中编写如下:
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Main Menu"
style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backButtonItem;
[backButtonItem release];
}
【解决方案3】:
在推送下一个视图控制器之前设置标题:
[[self navigationItem] setTitle:@"Main Menu"];
[navigationController pushViewController:nextVC animated:YES];
并将其设置为viewWillAppear 中的空白字符串(或nil):
[[self navigationItem] setTitle:@""];