2012-01-12 45 views
1

我想在我的应用程序中实现“下一步”功能。该按钮出现在ViewController上,通过单击UITableView中的一行显示该按钮。理想情况下,我想什么是下一步做以下(伪代码)iPhone - 动画“回”到父控制器

  1. “回到”到UITableView
  2. 滚动到下一个可用项UITableView
  3. 选择项目

我相信我可以通过selectRowAtIndexPath做2,3(请随时纠正我,如果我错了),但我不确定如何做第1步。我还必须针对UITableView而不是UIViewController方法托管按钮。我将如何实现这一目标?

更新:

我现在可以针对RootViewController的,但现在我是不是真的表现出来? (仅供参考,这里是我的代码,这要归功于this question

NSArray *viewControllers = self.navigationController.viewControllers; 
UIViewController *rootViewController = [viewControllers objectAtIndex:viewControllers.count - 2]; 

UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleDone target:rootViewController action:@selector(nextButton:)]; 

更新2

我现在回动画工作,但它使导航栏完好,我怎么也设置此回正确的(rootViewController)之一?

[self.navigationController popToRootViewControllerAnimated:YES]; 
+0

因此,当您单击行,你正在推动一个新的视图控制器,但为什么你要做一个popToRootViewController?你不想只回去一个视图控制器吗? – Kekoa 2012-01-12 22:03:46

+0

当我点击一行时会显示一个新的视图,然后在这个新视图中按下“Next”,它将导航回到rootViewController(一个UITableView)并选择下一行 – Chris 2012-01-12 22:07:27

回答

1

如果你有这样的情况:

  1. RootViewController的 - 的tableView
  2. NextviewController - 一些观点与Next按钮,显示后,你点击的tableView

当你发出[self.navigationController popToRootViewControllerAnimated:YES];从2.控制器按下Next按钮,它将把RootViewController带到屏幕上。

现在,在RootViewController的,你必须“检测”回动作(或许在viewWillAppear中),并继续你的步骤2和3