Раскадровка - подключение к контроллеру представления, затем нажатие вызывает несколько нажатий

В Objective C / iOS;

У нас есть процесс, похожий на этот (настроен в раскадровке xcode);

Контроллер представления меню -> введите код -> обработать / проверить -> представить код ошибки

(->) стрелки обозначают push настройка segue в раскадровке

Когда в состоянии сбоя, я хочу, чтобы поп к Enter in a code просмотр контроллера.

 UIViewController *vc = nil;

    NSUInteger index=0;
    for (UIViewController *viewController in self.navigationController.viewControllers) {
        if ([viewController isKindOfClass:[SomeViewController class]]) {
            vc = viewController;
            break;
        }
        index++;
    }

    if (vc) {
        dispatch_async(dispatch_get_main_queue(), ^(void) {
            [self.navigationController popToViewController:vc animated:YES];
        });
        return;
    }

Это возвращает меня к ВК, на который я хочу пойти.

За исключением случаев, когда я нажимаю на Enter code страница делает еще 3 или 4 "толкает", когда это должно быть только 1.

Нужно ли мне расслабиться? Я попытался очистить стек контроллера навигационных представлений и даже попытался избавить его от последнего активного контроллера представлений - оба возвращают пустую или черную рамку окна просмотра.

Почему выталкивание контроллера представления в стеке навигации влияет на segues в моем контроллере представления до точки, где всякий раз, когда я пытаюсь сделать push segue действие, которое он будет пытаться поместить несколько контроллеров представления в стек?

1 ответ

Решение

Оказывается, у меня была следующая проблема

Нажатие кнопки вызывает переходное действие в раскадровке. Я делал то же самое переходное действие в коде кнопки, поэтому нажимал несколько раз.

Теперь я решил эту проблему

Другие вопросы по тегам