Переключение между раскадровки с помощью 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)