В iOS 9 раскадровки можно связать с помощью «ссылки на раскадровку», которая ссылается на вторую раскадровку, добавив ссылку на раскадровку и установив «ID ссылки» для имени другого файла раскадровки.

Можно ли настроить переход при раскручивании во втором файле, чтобы переходить к сцене в первом файле? Если да, то какие шаги выполняются в Интерфейсном Разработчике или в коде?

19
Iain Delaney 27 Окт 2015 в 16:22

3 ответа

Лучший ответ

Начиная с ссылки на раскадровку, создайте новую ссылку на раскадровку, которая будет ссылаться на вашу «Основную» раскадровку. Убедитесь, что вы также установили свой идентификатор раскадровки на главной странице.

Теперь у вас будет ссылка «Основная сцена» со всеми доступными вам выходами. Теперь вы можете создавать сегменты раскрутки, как обычно. Удерживая нажатой клавишу Ctrl, перетащите контроллер к маркеру Exit на главной сцене, и вы сможете выбрать желаемый выход.

enter image description here

8
Ryan Romanchuk 29 Дек 2015 в 20:08

1) Добавьте этот метод в свой MainViewController

// NEEDED! Do not delete!
@IBAction func unwindToMasterViewController(_ segue : UIStoryboardSegue) {
  // Do nothing
}
2) На главной раскадровке щелкните правой кнопкой мыши переход к выходу указанной раскадровки и выберите unwindToMasterViewController

Interface Builder

3) Дайте переходу выхода имя , чтобы ссылаться на него в коде.

Attributes Inspector

4) Вызовите переход из кода

6
rjobidon 21 Мар 2018 в 01:01

Мне не нужно было делать ссылку на раскадровку от второй раскадровки к первой, как это изложил Райан. Для меня во второй раскадровке я мог, удерживая нажатой клавишу Control, перетащить контроллер представления к его собственному выходу, и появился переход раскрутки, который я указал в классе контроллера представления, потребляемом в первой раскадровке. Поэтому я просто выбрал это, чтобы создать новый переход с идентификатором, и вызвал в коде performSegueWithIdentifier :. Работал нормально.

8
xaphod 16 Мар 2016 в 20:03