Переключение между раскадровки с помощью Swift

У меня есть раскадровка, которая становится слишком большой в моем проекте Xcode и замедляет работу моего компьютера. Как программно (или вручную с помощью раскадровки) переходить из одного из моих представлений в текущую раскадровку с помощью кнопки, чтобы перейти к просмотру новой раскадровки?

Полу-новый с Xcode, тем проще, тем лучше. Спасибо!

Ответы

Ответ 1

Вы можете сделать это программно следующим образом:

Swift 3 +

let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ViewControllerID") as UIViewController
present(vc, animated: true, completion: nil)

Старые

let storyboard = UIStoryboard(name: "myStoryboardName", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("nextViewController") as UIViewController
presentViewController(vc, animated: true, completion: nil) 

В сортировке вы можете сделать это как:

presentViewController( UIStoryboard(name: "myStoryboardName", bundle: nil).instantiateViewControllerWithIdentifier("nextViewController") as UIViewController, animated: true, completion: nil)

И не забудьте указать идентификатор вашего следующего монитора.

Для получения дополнительной информации см. ЭТО.

Ответ 2

0 Линии кода

Использование Interface Builder

  • Добавьте ссылку раскадровки на исходную раскадровку
    Справочник раскадровки
  • Управление-перетаскивание с UIButton на справочник раскадровки
    введите описание изображения здесь
  • В инспекторе атрибутов столбца Ссылка на расписание укажите целевую раскадровку и необязательно целевой ссылочный идентификатор целевого UIViewController и Пакет.
    введите описание изображения здесь

Полное изображение

введите описание изображения здесь

Ответ 3

Решение Swift 3:

present( UIStoryboard(name: "CreateOrder", bundle: nil).instantiateViewController(withIdentifier: "firstOrderViewController") as UIViewController, animated: true, completion: nil)