我很抱歉我是 iPhone 编程的新手。
我创建了一个 Master-Detail Iphone 应用程序(因此导航控制器随项目一起提供)。我继续使用我通过 masterviewcontroller 上的 UIBarButtonItem 创建的新视图控制器。然而,与detailviewcontroller(项目附带)不同,我似乎无法让navigationitem(或navigationbar?)显示在视图上,即使它出现在我的故事板的场景列表中。
这是一些代码和屏幕截图:
在我的 masterviewcontroller.m viewdidload() 函数中
UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:normal target:self action:@selector(goToSettings:)];
self.navigationItem.leftBarButtonItem = settingsButton;
在我的 masterviewcontroller.m
- (IBAction)goToSettings:(id)sender{
[self performSegueWithIdentifier:@"SettingsSegue" sender:self];
}
我尝试在我创建的新 viewcontroller.m 类的 viewDidLoad 函数中为导航项添加标题(在此链接中提到但它不起作用)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationItem.title = @"Settings";
self.navigationItem.leftBarButtonItem = self.editButtonItem;
}
但它仍然出现在我的故事板中(它出现在场景下的列表中,但不在视图的显示中)
所以我的问题是为什么它现在出现了,我该如何得到它?我想要一个后退按钮,例如主-详细信息项目附带的详细视图控制器。
编辑#1
我添加了一个检查导航控制器是否为 nil 并且它不是 nil(从未输入 if 语句)我还尝试将导航项更改为 back 并删除,但没有一个有效。
if(self.navigationItem == nil)
{
[ self.navigationItem init];
}
self.navigationItem.title = @"Settings";
self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;
现在我有足够的声誉来显示图像,我可以显示导航项显示在列表中但未显示在视图中