как запретить раскадровке открывать окно

Я пишу простое приложение, которое загружается в строку состояния, и при нажатии на него открывается всплывающее окно под значком строки состояния. Я использую раскадровки, чтобы определить пользовательский интерфейс, который мне нравится отображать во всплывающем окне. Дело в том, что как только я создаю раскадровку, открывается окно. Как я могу предотвратить это? Это код в моем делегате приложения:

func applicationDidFinishLaunching(aNotification: NSNotification) {
    let mainBoard = NSStoryboard(name: "MainBoard", bundle: nil)
}

person Farzad    schedule 12.04.2015    source источник
comment
Непонятно, чего вы пытаетесь добиться. - Каждое приложение должно иметь полноэкранное окно. Строка в вашем applicationDidFinishLaunching ничего не делает. Это ассоциация раскадровки с вашим приложением в Info.plist и начальное представление в раскадровке, которое управляет тем, что появляется.   -  person Paulw11    schedule 12.04.2015
comment
Мое приложение загружает значок в строку состояния. Это приложение! При щелчке по значку представление загружается и отображается во всплывающем окне; поэтому мне не нужно начальное окно.   -  person Farzad    schedule 12.04.2015
comment
измените тег iOS на OSX. Этого было бы проще добиться, если бы вы сняли флажок «Использовать раскадровку» при создании нового проекта. Затем просто отмените выбор с помощью инспектора атрибутов, видимого при запуске.   -  person Leo Dabus    schedule 12.04.2015
comment
Сделанный. Спасибо Леонардо.   -  person Farzad    schedule 12.04.2015
comment
@Farzed добро пожаловать   -  person Leo Dabus    schedule 12.04.2015
comment
@ Леонардо, ты имеешь в виду, что в xib-файлах нет этой проблемы?   -  person Farzad    schedule 12.04.2015


Ответы (1)


import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    var defaultWindow:NSWindow!
    func applicationDidFinishLaunching(aNotification: NSNotification) {
        defaultWindow = NSApplication.sharedApplication().windows.first as? NSWindow
        defaultWindow.close()

    }
    func applicationWillTerminate(aNotification: NSNotification) {
        // Insert code here to tear down your application
    }
    @IBAction func menuClick(sender: AnyObject) {
        defaultWindow.makeKeyAndOrderFront(nil)
    }
}

обновление: Xcode 7.1.1 • Swift 2.1

NSApplication.sharedApplication().windows.first?.close()
person Leo Dabus    schedule 12.04.2015
comment
Спасибо. Это работает :) Как вы думаете, это может работать на более медленных машинах? - person Farzad; 12.04.2015