2012-01-12 8 views
1

Я хочу реализовать функцию «Далее» в своем приложении. Кнопка отображается на ViewController, которая отображается щелчком по строке в UITableView. В идеале я хотел бы для Next, чтобы сделать следующее (в псевдокоде)iPhone - Анимация «назад» на родительский контроллер

  1. Go «назад» к UITableView
  2. свитка к следующему доступному элементу в UITableView
  3. выбрать этот элемент

Я считаю, что могу сделать 2,3 через selectRowAtIndexPath (пожалуйста, не стесняйтесь исправить меня, если я ошибаюсь), но я не уверен, как это сделать. Шаг 1. Мне также нужно будет настроить метод в UITableView, а не UIViewController, что размещается кнопка. Как я могу это достичь?

Update:

теперь я могу целевой 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:)]; 

Update 2

теперь у меня есть задняя анимация работает, но он держит панель навигации нетронутой, как я установить это обратно правильный (rootViewController)?

[self.navigationController popToRootViewControllerAnimated:YES]; 
+0

Итак, когда вы щелкните строку, вы толкаете новый контроллер представления, но почему вы делаете popToRootViewController? Не хотите ли вы просто вернуться к одному контроллеру? – Kekoa

+0

Когда я нажимаю на строку, отображается новое представление, затем в этом новом представлении нажимается «Далее», она переходит обратно в корневой контроллер (UITableView) и выбирает следующую строку – Chris

ответ

1

Если у вас есть ситуации, как это:

  1. RootViewController - Tableview
  2. NextviewController - некоторый вид с Следующей кнопкой, которая показывает после того, как вы нажмете на Tableview

Когда вы выдаете [self.navigationController popToRootViewControllerAnimated: YES]; из 2. контроллера, нажав кнопку «Далее», он выведет RootViewController на экран.

Теперь на RootViewController вы должны «обнаружить» обратное действие (возможно, в ViewWillAppear) и по-прежнему с шагом 2. и 3.

Смежные вопросы