按钮不显示在导航栏项
我已经创建了一个基于导航的应用程序模板的项目,并做了一些工作,并运行它。按钮不显示在导航栏项
我想如果我触摸一个单元格,新的视图会显示出来,并且新的图标(它将返回按钮)也会显示在导航栏项目上。
但由于某种原因,“后退按钮”不会自动添加。有什么问题?
以下是我的代码。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic may go here -- for example, create and push another view controller.
MessageView *detailViewController = [[MessageView alloc] initWithNibName:@"MessageView" bundle:nil];
NSDictionary* aMessage = [m_tableData objectAtIndex:indexPath.row];
detailViewController.m_message = [[NSDictionary alloc] initWithDictionary:aMessage];
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
你可能没有给你父控制器(在viewDidLoad中或viewWillAppear中只是self.title = @“我的名字”)的目标。这就是后退按钮默认填入的内容,所以如果你没有给它起个名字,你就不会得到后退按钮。
谢谢。它现在有效。 – SeniorLee 2011-02-23 14:20:04
伟大的提示!你说它被“默认”填充。只是好奇是否意味着你可以给“后退按钮”一个与控制器本身不同的标题?谢谢!!! – jpswain 2011-07-18 19:23:39
是的,你可以制作你自己的按钮(至少在父母),一旦被称为后退按钮显然是固定的。例如,self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@“Back” style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease]; – mackworth 2011-07-19 01:54:05
您在说MessageView是从UIView继承而来的。但我认为如果没有问题推入导航控制器,那么它将是UIViewController的子类。
有一些原因,不显示后退按钮: -
1)由于麦克沃思告诉你没有给您从中浏览任何所有权。
2.)您的导航栏的后退按钮属性设置为隐藏。
否则返回按钮应该出现在导航栏上。
感谢您的回答。但我不能接受多于一个的答案;(刚刚给了它第一个答案对不起, – SeniorLee 2011-02-23 14:20:58
看来你没有设置你的导航栏标题的视图从正在导航...
一旦你默认设置导航栏的标题,它会显示你的后退按钮
在ViewDidLoad或ViewWillAppear中使用它。
self.navigationItem.title = @“在此设置您的标题”;
谢谢你的答案,但我不能接受多于一个答案;(刚刚给了它首先回答对不起。 – SeniorLee 2011-02-23 14:22:04
它是您推入导航控制器的视图(MessageView)吗?你只能推UIViewController而不推UIView – Nevin 2011-02-23 01:56:03