使用UITableView导航问题

时间:2012-02-08 19:33:02

标签: iphone ios navigation uitableview

如何使用UITableViewController导航回上一页。我试图在屏幕顶部显示带导航按钮的导航栏,但导航栏不会显示。我知道你必须给上一个视图一个标题但是当我这样做时它没有显示任何东西。此外,由于它是一个UITableViewController,我无法删除导航栏并向主视图添加一个按钮。我想做的就是显示我的列表,并可以选择左上角的一个按钮导航回上一个列表。

3 个答案:

答案 0 :(得分:0)

仅仅给孩子看标题是不够的。在呈现之前,您需要为子视图的导航项目提供标题。例如,在父视图中,在将视图推送到导航堆栈之前,请执行以下操作...

[MyChildView.MyNavigationItem setTitle:@"A cool Title"];

答案 1 :(得分:0)

对于您尝试实现的导航,您应该使用UINavigationController。它已经具有您使用导航栏和内置后退按钮描述的功能。

要移动到下一个屏幕(可以是UITableViewController),请使用pushViewController:animated:并移至上一个屏幕,使用popViewControllerAnimated:(尽管内置后退按钮会为您执行此操作)

如果您还不熟悉,我建议您阅读UINavigationController class documentation

答案 2 :(得分:0)

您使用NavigationController的问题是您的tableViewController不在NavigationController层次结构中。想要在添加tableViewController时执行此操作:

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:yourTableViewController];

然后你可以这样做来添加你的TableViewController:

[self.view addSubview:navigationController.view];

如果您不希望navigationBar出现在tableViewController上,请使用:

self.navigationController.navigationBarHidden = YES;  
在yourTableViewController viewWillAppear方法中

当您要在tableView之后添加视图时,您只需使用:

[self.navigationController pushViewController:someViewController animated:YES];