2016-04-04 12 views
0

'dan farklı giriş denetleyicileri yükleyin AppDelegate aracılığıyla 2 farklı akıştan birini tetiklemeye çalışıyorum ama mücadele ediyor gibi görünüyor.Kakao: App Delegate

görüntü olarak aşağıya bakınız:

Storyboard with 2 views nasıl her bu iki farklı bakış denetleyicileri örneğini do tek bir ana NSWindow Kontrolörü bağlanacağını olur?

Aşağıdaki kodu kullanarak "addChildWindow" kullanarak tetiklenmelerini sağlamayı başardım - ancak daha sonra herhangi bir sonraki denetim denetleyicisine karşı koyamıyorum.

if let pboardString = pboard.stringForType(NSStringPboardType){ 
      print(pboardString) 
      let storyboard = NSStoryboard(name: "Main", bundle: nil) 
      let destcontroller = storyboard.instantiateControllerWithIdentifier("pickProject") as! WizardTextFromPasteboardVC 
      destcontroller.weburlFromPaste = pboardString 

      let numWindows = NSApplication.sharedApplication().windows 
      if let window = NSApplication.sharedApplication().mainWindow { 
       if numWindows.count >= 1{ 
        let childWindow = NSWindow(contentViewController: destcontroller) 
        window.addChildWindow(childWindow, ordered: .Above) 
       } 
       else if numWindows.count == 0 { 
        window.contentViewController = destcontroller 
       } 
+0

Neden ana penceresinde iki düğme oluşturmaz,:

gibi? –

cevap

0

Bu pencere içeriği sağlar varsayılan segue tutmak için gerekli değil: İşte

Ben görünümü denetleyicileri örneğini kullanıyorum kodudur. Bunu sildiyseniz ve kimlik tarafından başlatılabilen iki görünüm denetleyicisi sağlarsanız, uygulama temsilci, lansmanın biteceği zaman karar verebilir. ilgili bir görünüm denetleyiciye bağlı olan her biri

let selection: Int = 2 

func applicationDidFinishLaunching(aNotification: NSNotification) { 
    let storyboard = NSStoryboard(name: "Main", bundle: nil) 
    var controller: NSViewController 
    if selection == 1 { 
     controller = storyboard.instantiateControllerWithIdentifier("view_controller") as! NSViewController 
    } else { 
     controller = storyboard.instantiateControllerWithIdentifier("view_controller_2") as! NSViewController 
    } 
    let window = NSApp.windows[0] 
    window.contentViewController = controller 
} 
+0

Phillip Mills - bunun için teşekkürler - ama eğer bunu böyle yapsaydım - daha sonra denetleyicileri kontrolörlerden ... segues kullanarak nasıl arardım? –

+0

Diğer tüm durumlarda, anlattığım kadarıyla aynı. Sadece üçüncü bir denetleyiciyi bir sayfa olarak görüntülemek için ikinci denetleyicimdeki bir düğmeden film şeridinde bir ibre bağladım ve iyi çalıştı. –

+0

Hmm - Böylesi bir hata yapıp yapamayacağını merak ediyorum. –