重用表类时,栏按钮问题

时间:2011-10-08 09:31:39

标签: objective-c xcode uitableview uinavigationcontroller uibarbuttonitem

我在我的app中使用了一个表视图。它的Delegate和datasource都在同一个类RootviewController中。 当用户单击一个单元格时,我重用相同的类RootViewController来显示包含内容的下一个表。用户可以单击在表格中导航4次,然后导航到下一个视图。 但不幸的是,当用户第一次点击时,它将导航到下一个表格视图,但它不会显示后退按钮。对于剩余的点击,它可以正常工作并显示后退按钮。用户也无法导航回第一个视图。

RootViewController *root = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
  [root setNext:temp.previousCategory];
  [root setTitle:temp.Category];
  temp = nil;
   [self.navigationController pushViewController:root animated:YES];

我对此感到困惑,请帮助我。

2 个答案:

答案 0 :(得分:0)

也许

root.navigationItem.hidesBackButton = NO;

此外,您可能必须为控制器的导航项目指定标题,以便后退按钮可以显示(在按下视图控制器之前执行此操作)

self.navigationItem.title = @"Root";

答案 1 :(得分:0)

除了RootViewController之外,您真的应该将代码的数据处理部分拆分为单独的类或对象。

这样,您的代码可能更易于管理,您将能够推送新的视图控制器,最重要的是,推送新视图将提供用户期望的“后退”按钮。