ちょっとした応用問題に遭遇しました。
以前書いたように、アプリをクローズしたあと、アイコンをクリックすると、クローズする前の状態のwindowが開くようにしていました。これはこれで便利です。
func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
if flag == false && sender.windows.count > 0 { sender.windows[0].makeKeyAndOrderFront(self) }
return true
}
ところが、これだとファイルを閉じてもwidowに残ったまま、つまりcloseできません。どうしたものかと考えたのですが、結局、これを取り除き、File➡️Closeに次のIBActionメソッドを接続したら、うまく行きました。
@IBAction func performClose(sender: AnyObject?) {
xbOutWindow.close()
}
やりたかったことは、Openでファイルを開け/windowを開く。逆に、Closeでファイルを閉じ、windowを閉じる。ただし、アプリはterminateさせない。func applicationShouldHandleReopenを残したままで、openフラグとか作っていろいろやってみたのですが、落ちまくるのでこの修正版はgive upし、上記の方法に変更しました。やれやれ。
Advertisements