iPhone - Анимация «назад» к родительскому контроллеру - PullRequest
1 голос
/ 13 января 2012

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

  1. Перейти "назад" к UITableView
  2. Прокрутите до следующего доступного элемента в UITableView
  3. Выберите этот пункт

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

Обновление:

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

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];

1 Ответ

1 голос
/ 13 января 2012

Если у вас такая ситуация:

  1. RootViewController - tableView
  2. NextviewController - некоторое представление с кнопкой «Далее», которое отображается после нажатия на tableView

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...