2017-03-06 5 views
1

Ich habe zwei Ansicht-Controller in zwei verschiedenen Storyboards:ändern Viewcontroller MacOS Swift

Storyboard # 1: Main.Storyboard

Dies zu einer Klasse verbunden heißt: ViewController.swift:

import Cocoa 
class ViewController: NSViewController { 

//Bad Button Attempt: 
    /*override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) { 
     //1 
     let CareViewCont 
     rol = segue.destinationController as! NSViewController 
     //2 
     self.dismissViewController(self) 
    }*/ 


    //Rest of Default Code: 
    @IBOutlet weak var findButton: NSButton! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 
    override var representedObject: Any? { 
     didSet { 
     } 
    } 
} 

Storyboard # 2: Ashwin.Storyboard

Dies ist verbunden mit einer Klasse namens: CareViewController.swift:

Grundsätzlich möchte ich nur auf den "Find" -Button in Main.Storyboard klicken und den View-Controller auf den in Ashwin.Storyboard schalten lassen.

Ich habe versucht, den ViewController in Ashwin.Storyboard zu Main.Storyboard zu kopieren und einzufügen, Kontrolle auf den Suchen-Button klicken und ein "Action Segue" erstellen, aber alle Aktionsübergänge lassen ein neues Fenster erscheinen und das ist nicht was Ich will.

Ich habe auch versucht, eine Aktion Listener für die Schaltfläche „Suchen“ in ViewController.Swift machen, aber ich konnte nicht diesen Ansatz Arbeit machen ... (Ich habe das Gefühl, wenn die Lösung ist ...)

Bitte helfen Sie mir Ich bin in MacOS ratlos.

Antwort

0

Fügen Sie eine storyBoard-Referenz zur Leinwand main.storyboard hinzu. Wechseln Sie dann von der Suchen-Schaltfläche zur Referenz. Wählen Sie das Storyboard Verweis auf die Leinwand und in den Attributen Inspektoren setzen Sie ihn auf Ihrer Ashwin.storyboard

enter image description here

+0

Dank! Ich habe immer noch ein Problem, bei dem alle Segmenttypen (Show, Modal, Sheet oder Popover) ein neues Fenster erstellen, anstatt nur den View-Controller zu ändern. Muss ich einen benutzerdefinierten Übergang machen? – cpresto

+0

Haben Sie die Storyboard-Referenz im Attributinspektor festgelegt? Ich habe nicht viel Erfahrung mit Mac OS App. – CarpenterBlood

+0

Ich habe gerade einen kleinen Test auf meinem iMac gemacht und das funktioniert tatsächlich. Ich weiß nicht wirklich, was sonst noch mit deiner Anwendung los ist – CarpenterBlood

Verwandte Themen