Невозможно программно выполнить переход
-
22-12-2019 - |
Вопрос
У меня есть переход раскадровки с идентификатором «Push to ResumeView».
Я пытаюсь вызвать его в ViewController, в котором я нахожусь в данный момент, выполнив
[self performSegueWithIdentifier: @"Push to ResumeView" sender: self];
.
Но ничего не происходит?
Я бы предпочел просто нажать ViewController, используя верхний NavigationController или что-то в этом роде, но я тоже не понимаю, как это сделать.
Решение
Попробуйте реализовать shouldPerformSegueWithIdentifier:sender:
или prepareForSegue:sender:
методы в контроллере представления from.Поместите точку останова или NSLog() внутри метода, чтобы проверить идентификатор перехода.Это докажет, что вы действительно правильно настроили переход в раскадровке.
Если вы хотите вручную переместить следующий контроллер представления в верхнюю часть контроллера навигации, используйте pushViewController:animated:
.Однако, если вы используете раскадровку, предпочтительным способом является использование переходов.
Другие советы
Попробуйте это.
UIViewController *yourResumeView=[self.storyboard instantiateViewControllerWithIdentifier:@"PushToResumeView"];
[self.navigationController pushViewController:yourResumeView animated:YES];
.