Представить контроллер представления из другой раскадровки - PullRequest
0 голосов
/ 04 июля 2018

index.swift

func didReceiveNewSession(_ session: QBRTCSession, userInfo: [String : String]? = nil) {
    print("Receive")
    let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let goController = mainStoryboard.instantiateViewController(withIdentifier: "call") as! call
    self.present(goController, animated: true)
}

Если я нахожусь в index.swift и получаю сеанс, выведите для меня Receive и перейдите к call.swift.

Но если после загрузки index.swift я перехожу на page.swift, если получаю сеанс, выведите Receive, но не переходите к call.swift и оставайтесь на page.swift.

Я хочу, если я где-нибудь после present, перейти к call.swift

1 Ответ

0 голосов
/ 04 июля 2018
  • Откройте вашу первую раскадровку и создайте ссылку на раскадровку. enter image description here

  • Введите имя вашей второй раскадровки в свойстве «Раскадровка» и ссылочный идентификатор целевого ViewController назначения в свойстве «Идентификационный номер ссылки» вашей недавно созданной ссылки. (Идентификатор ссылки эквивалентен идентификатору раскадровки целевого ViewController)

    enter image description here

  • Создайте переход от вашего исходного ViewController к вновь созданному Storyboard Reference. Убедитесь, что у segue есть идентификатор.

  • В вашем коде выполните следующую последовательность действий:

.

func didReceiveNewSession(_ session: QBRTCSession, userInfo: [String : String]? = nil) {
    print("Receive")
    self.performSegue(withIdentifier: "mySegue", sender: self)
}

Кредиты на https://stackoverflow.com/a/33753164/7990095

...