Могу ли я перейти к ViewController, который напрямую не связан с текущим?
Не с переходом.Но вы можете выдвинуть или представить viewController из раскадровки модально, как вы это сделали с файлами .xib.
// if self was created from code or from a .xib:
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryBoard" bundle:nil];
// if self was instantiated from within a storyboard:
UIStoryboard *storyBoard = self.storyboard;
MyFancyViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"MyFancyViewControllerIdentifier"];
[self presentModalViewController:viewController animated:YES];
Но сначала нужно установить идентификатор.Выберите viewController в раскадровке и сделайте это в инспекторе атрибутов.
Как только MyFancyViewController становится видимым, вы можете использовать все его сегменты.Может показаться странным переключаться между сегментами кода и раскадровки, но в этом нет ничего плохого.Это делает всю раскадровку действительно полезной.
Как перейти от кнопки к нескольким ViewController'ам условно?Соединение обоих не работает.
Добавьте два или более сегментов, которые начинаются с viewController (не с кнопки или любого другого представления. Например, начните перетаскивание элемента управления в строке состояния) к целевым viewControllers.Установите для них идентификаторы и используйте такой код:
if (someState) {
[self performSegueWithIdentifier:@"MyFirstSegueIdentifier" sender:somethingOrNil];
}
else {
[self performSegueWithIdentifier:@"MySecondSegueIdentifier" sender:somethingOrNil];
}
Можно ли ввести последовательность ViewController из произвольной позиции в приложении?
Да, если вы используете «старой школы» вид управления контроллером.Похоже на первую часть.Создайте свой viewController и представьте его с кодом.