2012-01-12 46 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