2016-08-01 9 views
0

Ich habe drei Ansicht-Controller:ios Stack Navigationsstoryboard segue

messagesVC: hat keine Navigationssteuerung ein Chat-Raum

viewControllerA: Navigationssteuerung hat und leitet messagesVC

viewControllerB: hat Navigationscontroller und leitet zu messagesVC

Alle drei View-Controller haben ihr eigenes Storyboard für Organisationszwecke. Im Moment habe ich ein Storyboard-Segment erstellt, um von vcA oder vcB zu messagesVC zu wechseln. Ich möchte messagesVC entweder auf VCA oder VCB jedes Mal, wenn es angezeigt wird, setzen, so dass Push-View-Controller-Animation funktionieren würde, anstatt messagesVC modal präsentieren. Wie würde ich das erreichen?

Antwort

0

In der Situation, wenn Sie in Storyboard haben, wählen Sie den Typ von "Show". Wenn Ihr messageVC in einem anderen Storyboard ist, sollten Sie es wie folgt laden:

let storyboard = UIStoryboard(name: "VCAStoryboard", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("messageVC") as! MessageVC 

Dann schieben Sie es wie folgt aus:

nvaigationController!.pushViewController(vc, animated: true) 

Dies wird die Arbeit erledigen.

+0

Ich habe das versucht, aber self.navigationController gibt nil zurück und führt daher keine Aktion aus. Irgendeine Idee? –

+0

Sie sagten, es hat nvaigationController –

+0

Wenn nicht, wählen Sie Ihre vc im Storyboard, klicken Sie auf Editor im Menü -> Einbetten in -> nvaigation Controller –