Как отклонить TableViewController в коде, вызываемом переходом раскадровки?

Я знаю, как обрабатывать переходы в раскадровке и использовать кнопку «Назад», созданную с помощью контроллера навигации. У меня есть одно основное табличное представление, подключенное к дочернему табличному представлению через push-переход в раскадровке. Отлично работает для переключения между таблицами.

Я хочу добавить возможность жеста провести пальцем влево в дочернем табличном представлении, чтобы вернуться к основному табличному представлению.

Сначала попробовал это в раскадровке с использованием распознавателя жестов смахивания, но это привело к тому, что основное табличное представление стало новым дочерним элементом дочернего табличного представления.

Затем я попытался в коде:

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

... но это, похоже, работает только с модальным переходом

У меня есть:

- (void)viewDidLoad
{
   [super viewDidLoad];

   UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];
   [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
   [self.tableView addGestureRecognizer:recognizer]; 
}

- (void)handleSwipe:(UISwipeGestureRecognizer *)gestureRecognizer
{
   // need code here to dismiss the child tableview
}

person Michael Lee    schedule 15.06.2012    source источник


Ответы (1)


Наконец-то сегодня разобрался, работает отлично:

- (void)handleSwipe:(UISwipeGestureRecognizer *)gestureRecognizer
{
    [self.navigationController popViewControllerAnimated:YES];
}

Нашел ответ в:

Библиотека разработчика iOS > Справочник по классу UINavigationController > popToViewController

person Michael Lee    schedule 20.06.2012