2014-11-20 5 views
0

Я как бы новый в быстром, но я «застрял» во что-то.Запустить главное окно с помощью swift

Я знаю, C, Java, C++, PHP, и т.д ...

Я пытаюсь составить многооконного (приложение Mac OS с использованием какао) App, используя быстрые. Я уже могу это сделать, но моя проблема в том, что я закрываю окно . Если я закрою свое главное окно, когда я попытаюсь добавить к нему ребенка, я получу ошибку или новое окно просто не откроется.

У меня есть это:

class SmallWindow: NSViewController { 

    @IBOutlet var window: NSWindow! //Window inside the .xib file 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do view setup here. 
    } 

} 

Я уже пробовал выше, используя NSWindowController и NSWindow.

var smallwin = SmallWindow() 
smallwin.window.makeKeyAndOrderFront(self) 
//already tried with smallwin.window too 

Мне интересно, как программно запустить новое окно. Я пропустил несколько шагов?

@IBOutlet var window: NSWindow! 
@IBOutlet var smallwin : SmallWindow! 

func applicationDidFinishLaunching(aNotification: NSNotification) { 

    smallwin = SmallWindow() 
    window.addChildWindow(smallwin.window, ordered: NSWindowOrderingMode.Above) 

} 
+0

Проверьте наконечник, чтобы убедиться, что вы не выбрали это окно при закрытии. – matt

+0

с «этим» вы имеете в виду главное окно? – Leandroc

+0

Да, это всего лишь идея, но я допустил эту ошибку и закрыл окно при закрытии. - Однако я не понимаю, что вы подразумеваете под «добавлением к нему ребенка»; закрытое окно не может иметь дочернее окно. – matt

ответ

1

Вы, наверное, не нужно окно ребенка. Вам просто нужно окно.

Чтобы поставить новое окно на экране, вам нужно сделать три вещи:

  1. Создать окно, либо программно, либо путем загрузки перо.

  2. Оформить заявку на вход в окошко. Обычно вы хотите отправить makeKeyAndOrderFront или orderFront. См. “Opening and Closing Windows” in the Window Programming Guide.

  3. Держите ссылку на окно. Система не обязательно поддерживает сильную ссылку на экранное окно. Если окно отменено, оно удаляется из экрана.

+0

Я думаю, что это некоторая проблема с моим xCode ... Я использовал тот же самый код на компьютере моих друзей, и он работал как магия. – Leandroc

Смежные вопросы